
import os
from flask import Flask
from app.extensions import db
from app.models import User, Category, Job, Contract, Payment, Invoice, WHSAssessment

def create_database():
    app = Flask(__name__)
    
    # SQLite configuration (stable, no SSL issues)
    basedir = os.path.abspath(os.path.dirname(__file__))
    app.config['SQLALCHEMY_DATABASE_URI'] = f'sqlite:///{os.path.join(basedir, "rateright.db")}'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
    app.config['SECRET_KEY'] = 'rateright-legal-compliant-2025'
    
    # Initialize database
    db.init_app(app)
    
    with app.app_context():
        # Create all tables
        db.create_all()
        print("✅ CHUNK 5: 80/20 Gamification system created successfully!")
        
        # Verify table creation
        from sqlalchemy import inspect
        inspector = inspect(db.engine)
        tables = inspector.get_table_names()
        print(f"✅ Created {len(tables)} tables: {', '.join(tables)}")
        print("✅ Core Tables: users, categories, jobs, applications")
        print("✅ Legal Tables: contracts, payments, invoices")
        print("✅ Safety Tables: whs_assessments, disputes, job_progress, reviews, audit_logs")
        print("✅ Gamification Tables: leaderboards, achievements, point_activities")
        print("🎉 COMPLETE DATABASE FOUNDATION READY!")
    
    return app

if __name__ == '__main__':
    create_database()
