customeragent-api / server /scripts /fix_user_schema.py
anasraza526's picture
Clean deploy to Hugging Face
ac90985
import sys
import os
from sqlalchemy import create_engine, text
# Add the current directory to sys.path to make imports work
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from app.core.config import settings
def fix_user_schema():
print(f"Connecting to database: {settings.DATABASE_URL}")
engine = create_engine(settings.DATABASE_URL)
with engine.connect() as conn:
try:
# Check if column exists (PostgreSQL specific)
check_query = text("""
SELECT column_name
FROM information_schema.columns
WHERE table_name='users' AND column_name='name';
""")
result = conn.execute(check_query).fetchone()
if not result:
print("Column 'name' not found in 'users' table. Adding it...")
conn.execute(text("ALTER TABLE users ADD COLUMN name VARCHAR"))
conn.commit()
print("Successfully added 'name' column to 'users' table.")
else:
print("Column 'name' already exists in 'users' table.")
except Exception as e:
print(f"Error: {e}")
# Fallback for SQLite just in case, though error was psycopg2
if "sqlite" in settings.DATABASE_URL:
try:
conn.execute(text("ALTER TABLE users ADD COLUMN name VARCHAR"))
conn.commit()
print("Added column (SQLite fallback)")
except Exception as sqle:
print(f"SQLite Error: {sqle}")
if __name__ == "__main__":
fix_user_schema()