Commit
This commit is contained in:
49
old/migrate_remove_pvp_hp_fields.py
Normal file
49
old/migrate_remove_pvp_hp_fields.py
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/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())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user