import asyncpg
from config import settings


async def init_db():
    conn = await asyncpg.connect(settings.DATABASE_URL)

    # MATCHES
    await conn.execute("""
    CREATE TABLE IF NOT EXISTS matches (
        match_id TEXT PRIMARY KEY,
        home_team TEXT,
        away_team TEXT,
        home_goals INTEGER,
        away_goals INTEGER,
        status TEXT,
        start_time TIMESTAMP,
        competition TEXT,
        url TEXT
    );
    """)

    # PREDICTIONS
    await conn.execute("""
    CREATE TABLE IF NOT EXISTS predictions (
        match_id TEXT PRIMARY KEY,
        p1 REAL,
        px REAL,
        p2 REAL,
        lambda_home REAL,
        lambda_away REAL,
        confidence REAL,
        created_at TIMESTAMP DEFAULT now()
    );
    """)

    # EVENTS (если используется)
    await conn.execute("""
    CREATE TABLE IF NOT EXISTS match_events (
        id SERIAL PRIMARY KEY,
        match_id TEXT,
        event_type TEXT,
        event_minute INTEGER,
        created_at TIMESTAMP DEFAULT now()
    );
    """)

    # METRICS
    await conn.execute("""
    CREATE TABLE IF NOT EXISTS metric_aggregates (
        id SERIAL PRIMARY KEY,
        name TEXT,
        value REAL,
        updated_at TIMESTAMP DEFAULT now()
    );
    """)

    # 🔥 TEAM STATS (НОВОЕ, КРИТИЧНО)
    await conn.execute("""
    CREATE TABLE IF NOT EXISTS team_stats (
        team_id TEXT PRIMARY KEY,
        team_name TEXT,
        attack REAL,
        defense REAL,
        updated_at TIMESTAMP DEFAULT now()
    );
    """)

    await conn.close()

