#!/usr/bin/env python
"""Verify database schema on production."""
import os
import sys

# Set up environment
os.environ['DATABASE_URL'] = os.environ.get('DATABASE_URL', '')

from app import create_app
from app.extensions import db
from sqlalchemy import inspect

app = create_app()

with app.app_context():
    # Get database inspector
    inspector = inspect(db.engine)
    
    # Get all table names
    tables = inspector.get_table_names()
    
    print(f"Total tables: {len(tables)}")
    print("\nTables found:")
    for table in sorted(tables):
        print(f"  - {table}")
    
    # Check for critical tables
    critical_tables = ['users', 'contracts', 'jobs', 'messages', 'ratings']
    print("\nCritical tables check:")
    for table in critical_tables:
        status = "✓" if table in tables else "✗"
        print(f"  {status} {table}")
    
    # Additional info
    print(f"\nDatabase URL prefix: {os.environ.get('DATABASE_URL', '')[:30]}...")
    print(f"App name: {os.environ.get('FLY_APP_NAME', 'Not on Fly.io')}")
