43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
"""Apply AnyDesk migration"""
|
||
|
|
|
||
|
|
import psycopg2
|
||
|
|
import os
|
||
|
|
import sys
|
||
|
|
|
||
|
|
try:
|
||
|
|
db_url = os.getenv('DATABASE_URL', 'postgresql://bmc_hub:bmc_hub@localhost:5433/bmc_hub')
|
||
|
|
conn = psycopg2.connect(db_url)
|
||
|
|
cursor = conn.cursor()
|
||
|
|
|
||
|
|
with open('migrations/115_anydesk_sessions.sql', 'r') as f:
|
||
|
|
sql = f.read()
|
||
|
|
|
||
|
|
# Split by semicolons to execute statements separately
|
||
|
|
statements = [s.strip() for s in sql.split(';') if s.strip()]
|
||
|
|
|
||
|
|
for statement in statements:
|
||
|
|
print(f"Executing: {statement[:80]}...")
|
||
|
|
cursor.execute(statement)
|
||
|
|
|
||
|
|
conn.commit()
|
||
|
|
print("✅ Migration 115_anydesk_sessions.sql applied successfully!")
|
||
|
|
|
||
|
|
# Verify tables created
|
||
|
|
cursor.execute("""
|
||
|
|
SELECT table_name FROM information_schema.tables
|
||
|
|
WHERE table_name LIKE 'anydesk%'
|
||
|
|
""")
|
||
|
|
|
||
|
|
tables = cursor.fetchall()
|
||
|
|
print(f"✅ Created tables: {[t[0] for t in tables]}")
|
||
|
|
|
||
|
|
cursor.close()
|
||
|
|
conn.close()
|
||
|
|
|
||
|
|
except Exception as e:
|
||
|
|
print(f"❌ Error: {str(e)}")
|
||
|
|
import traceback
|
||
|
|
traceback.print_exc()
|
||
|
|
sys.exit(1)
|