Final project commit: MTGJSON data integration and backend API
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Add image_url column to mtg_sets table in the database.
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import sys
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from sqlalchemy import text
|
||||
|
||||
sys.path.insert(0, '/home/wall-o/projects/mtgonline/backend')
|
||||
|
||||
from app.core.settings import get_settings
|
||||
|
||||
|
||||
async def add_image_url_column():
|
||||
"""Add image_url column to mtg_sets table."""
|
||||
settings = get_settings()
|
||||
engine = create_async_engine(settings.MTG_DATABASE_URL)
|
||||
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
|
||||
|
||||
async with async_session() as session:
|
||||
# Check if column already exists
|
||||
result = await session.execute(text("""
|
||||
SELECT column_name FROM information_schema.columns
|
||||
WHERE table_name = 'mtg_sets' AND column_name = 'image_url'
|
||||
"""))
|
||||
existing = result.fetchone()
|
||||
|
||||
if existing:
|
||||
print("✓ image_url column already exists in mtg_sets table")
|
||||
return
|
||||
|
||||
# Add the column
|
||||
print("Adding image_url column to mtg_sets table...")
|
||||
await session.execute(text("""
|
||||
ALTER TABLE mtg_sets
|
||||
ADD COLUMN image_url TEXT
|
||||
"""))
|
||||
print("✓ image_url column added successfully")
|
||||
|
||||
# Verify
|
||||
result = await session.execute(text("""
|
||||
SELECT column_name FROM information_schema.columns
|
||||
WHERE table_name = 'mtg_sets' AND column_name = 'image_url'
|
||||
"""))
|
||||
verified = result.fetchone()
|
||||
if verified:
|
||||
print("✓ Column verified in database")
|
||||
else:
|
||||
print("✗ Column not found after addition")
|
||||
|
||||
await engine.dispose()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(add_image_url_column())
|
||||
Reference in New Issue
Block a user