melodix-api / migrate_group_suspend.py
GitHub Action
deploy from github actions
09690a3
Raw
History Blame Contribute Delete
1.97 kB
import os
import sys
from sqlalchemy import create_engine, text
from dotenv import load_dotenv
# Añadir el directorio actual al path
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
load_dotenv()
DATABASE_URL = os.getenv("DATABASE_URL")
if DATABASE_URL:
print("Conectando a base de datos de producción (PostgreSQL/Supabase)...")
engine = create_engine(DATABASE_URL)
else:
print("Conectando a base de datos de desarrollo local (SQLite)...")
engine = create_engine("sqlite:///./musical_master.db")
def main():
print("==================================================")
print(" EJECUTANDO MIGRACION: groups.is_suspended COLUMN")
print("==================================================")
with engine.connect() as conn:
try:
# Detectar motor de BD
is_sqlite = "sqlite" in str(engine.url)
if is_sqlite:
print("Agregando columna 'is_suspended' a 'groups' (SQLite)...")
conn.execute(text("ALTER TABLE groups ADD COLUMN is_suspended INTEGER DEFAULT 0"))
else:
print("Agregando columna 'is_suspended' a 'groups' (PostgreSQL)...")
conn.execute(text("ALTER TABLE groups ADD COLUMN is_suspended BOOLEAN DEFAULT FALSE"))
conn.commit()
print("[OK] Columna 'is_suspended' agregada exitosamente a la tabla 'groups'.")
except Exception as e:
error_str = str(e).lower()
if "duplicate column" in error_str or "already exists" in error_str:
print("[INFO] La columna 'is_suspended' ya existe en la tabla 'groups'.")
else:
print(f"[ERROR] Error al agregar columna: {e}")
print("==================================================")
print(" MIGRACION COMPLETADA")
print("==================================================")
if __name__ == "__main__":
main()