import subprocess
import sys
import os

subprocess.check_call([sys.executable, "-m", "pip", "install", "pymysql", "--quiet"])
import pymysql

DB_CONFIG = {
    "host":            os.environ.get("MYSQL_HOST", "localhost"),
    "port":            int(os.environ.get("MYSQL_PORT", 3306)),
    "user":            os.environ.get("MYSQL_USER", "root"),
    "password":        os.environ.get("MYSQL_PASSWORD", ""),
    "database":        os.environ.get("MYSQL_DATABASE", "admanager"),
    "charset":         "utf8mb4",
    "connect_timeout": 15,
}

conn = pymysql.connect(**DB_CONFIG)
cursor = conn.cursor()

# Verifica se a coluna enabled_modules já existe
cursor.execute("SHOW COLUMNS FROM tenants LIKE 'enabled_modules'")
if not cursor.fetchone():
    print("[v0] Adicionando coluna enabled_modules na tabela tenants...")
    cursor.execute("""
        ALTER TABLE tenants
        ADD COLUMN enabled_modules JSON NULL DEFAULT NULL
        AFTER allow_global_admin_access
    """)
    conn.commit()
    print("[v0] Coluna enabled_modules adicionada.")
else:
    print("[v0] Coluna enabled_modules ja existe.")

# Atualiza os tenants existentes com o modulo 'identity' habilitado por padrão
cursor.execute("""
    UPDATE tenants
    SET enabled_modules = '["identity"]'
    WHERE enabled_modules IS NULL
""")
conn.commit()
print(f"[v0] {cursor.rowcount} tenant(s) atualizados com modulo identity por padrao.")

cursor.close()
conn.close()
print("[v0] Pronto.")
