#!/usr/bin/env python3 """Initialize database schema. Usage: python scripts/db/init_schema.py This script creates all SQLAlchemy tables in the database. Run this after docker-compose up to initialize the schema. """ import sys from pathlib import Path # Add project root to path sys.path.insert(0, str(Path(__file__).parent.parent.parent)) from portfolio_app.toronto.models import create_tables, get_engine # noqa: E402 def main() -> int: """Initialize the database schema.""" print("Initializing database schema...") try: engine = get_engine() # Test connection with engine.connect() as conn: result = conn.execute("SELECT 1") result.fetchone() print("Database connection successful") # Create all tables create_tables() print("Schema created successfully") # List created tables from sqlalchemy import inspect inspector = inspect(engine) tables = inspector.get_table_names() print(f"Created tables: {', '.join(tables)}") return 0 except Exception as e: print(f"Error: {e}", file=sys.stderr) return 1 if __name__ == "__main__": sys.exit(main())