medical-platform / apply_fallback_locks_migration.py
Ndg07's picture
Add colored logging with security features and privacy protection
806b2c5
"""
Apply fallback_locks column migration to users table
"""
from supabase import create_client
from dotenv import load_dotenv
import os
# Load environment variables
load_dotenv()
# Initialize Supabase client
supabase_url = os.getenv("SUPABASE_URL")
supabase_key = os.getenv("SUPABASE_SERVICE_KEY")
if not supabase_url or not supabase_key:
print("Error: SUPABASE_URL and SUPABASE_SERVICE_KEY must be set in .env")
exit(1)
supabase = create_client(supabase_url, supabase_key)
# Read migration SQL
import sys
sys.path.append(os.path.dirname(__file__))
migration_path = os.path.join(os.path.dirname(__file__), 'database', 'migrations', 'add_fallback_locks_column.sql')
with open(migration_path, 'r') as f:
sql = f.read()
print("Applying migration: add_fallback_locks_column.sql")
print("-" * 60)
try:
# Execute the SQL directly using postgrest
# Note: Supabase Python client doesn't have direct SQL execution
# We need to use the REST API or psycopg2
# For now, let's just print instructions
print("Migration SQL:")
print(sql)
print("-" * 60)
print("\nTo apply this migration:")
print("1. Go to your Supabase Dashboard")
print("2. Navigate to SQL Editor")
print("3. Copy and paste the SQL above")
print("4. Click 'Run'")
print("\nOr use psql:")
print(f"psql {supabase_url} -c \"{sql.replace(chr(10), ' ')}\"")
except Exception as e:
print(f"Error: {str(e)}")
exit(1)