melodix-api / migrate_group_unread.py
GitHub Action
deploy from github actions
f1b2382
Raw
History Blame Contribute Delete
1.43 kB
"""
Migración: Añadir columnas last_read_pistas, last_read_letras, last_read_repertorios a user_groups usando el engine configurado del app
"""
import os
import sys
# Agregar ruta del app para poder importar
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__))))
from app.database import engine
from sqlalchemy import text
def run_migration():
print(f"Conectando a base de datos usando el engine: {engine.url}")
# SQLite/PostgreSQL columns
columns_to_add = [
("last_read_pistas", "TIMESTAMP"),
("last_read_letras", "TIMESTAMP"),
("last_read_repertorios", "TIMESTAMP")
]
with engine.begin() as connection:
for col_name, col_type in columns_to_add:
try:
print(f"Intentando añadir columna '{col_name}' a 'user_groups'...")
connection.execute(text(f"ALTER TABLE user_groups ADD COLUMN {col_name} {col_type}"))
print(f"OK: Columna '{col_name}' añadida exitosamente.")
except Exception as e:
# Comprobar si es un error de columna duplicada
err_str = str(e).lower()
if "duplicate" in err_str or "already exists" in err_str:
print(f"Nota: La columna '{col_name}' ya existe.")
else:
print(f"Error al añadir '{col_name}': {e}")
if __name__ == "__main__":
run_migration()