|
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
Utilitário rápido para ajustar o schema da tabela 'usuarios' em SQLite:
|
|
|
- Verifica se a coluna 'data_aniversario' existe.
|
|
|
- Se não existir, cria com tipo DATE (compatível com datetime.date via SQLAlchemy).
|
|
|
⚠️ Execute isso no banco ATIVO (Produção/Teste), conforme seu db_router.
|
|
|
"""
|
|
|
|
|
|
from sqlalchemy import text
|
|
|
from banco import engine
|
|
|
|
|
|
def column_exists(conn, table: str, column: str) -> bool:
|
|
|
|
|
|
res = conn.execute(text(f"PRAGMA table_info({table});")).fetchall()
|
|
|
cols = [row[1] for row in res]
|
|
|
return column in cols
|
|
|
|
|
|
def add_date_column(conn, table: str, column: str):
|
|
|
|
|
|
conn.execute(text(f"ALTER TABLE {table} ADD COLUMN {column} DATE;"))
|
|
|
|
|
|
def main():
|
|
|
with engine.begin() as conn:
|
|
|
if column_exists(conn, "usuarios", "data_aniversario"):
|
|
|
print("✅ Coluna 'data_aniversario' já existe em 'usuarios'.")
|
|
|
else:
|
|
|
print("➕ Criando coluna 'data_aniversario' (DATE) em 'usuarios'...")
|
|
|
add_date_column(conn, "usuarios", "data_aniversario")
|
|
|
print("✅ Coluna criada com sucesso.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
main()
|
|
|
|