#!/usr/bin/env python3
"""
Migration: Remove attacker_hp and defender_hp columns from pvp_combats table
These fields are no longer needed as we use player HP directly from players table.
"""
import asyncio
from api.database import engine
from sqlalchemy import text

async def migrate():
    """Remove HP fields from pvp_combats table"""
    
    async with engine.begin() as conn:
        print("🔧 Starting migration: Remove attacker_hp and defender_hp from pvp_combats...")
        
        # Check if columns exist
        check_query = text("""
        SELECT column_name 
        FROM information_schema.columns 
        WHERE table_name = 'pvp_combats' 
        AND column_name IN ('attacker_hp', 'defender_hp')
        """)
        result = await conn.execute(check_query)
        existing_columns = result.fetchall()
        
        if not existing_columns:
            print("✅ Columns already removed. Nothing to do.")
            return
        
        column_names = [row[0] for row in existing_columns]
        print(f"Found {len(existing_columns)} column(s) to remove: {column_names}")
        
        # Drop the columns
        if 'attacker_hp' in column_names:
            print("Dropping attacker_hp column...")
            await conn.execute(text("ALTER TABLE pvp_combats DROP COLUMN IF EXISTS attacker_hp"))
            print("✅ Dropped attacker_hp")
        
        if 'defender_hp' in column_names:
            print("Dropping defender_hp column...")
            await conn.execute(text("ALTER TABLE pvp_combats DROP COLUMN IF EXISTS defender_hp"))
            print("✅ Dropped defender_hp")
        
        print("✅ Migration completed successfully!")

if __name__ == "__main__":
    asyncio.run(migrate())


