47 lines
1.6 KiB
Python
Executable File
47 lines
1.6 KiB
Python
Executable File
import asyncio
|
|
import os
|
|
from sqlalchemy.ext.asyncio import create_async_engine
|
|
from sqlalchemy import text
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
raw_url = os.getenv("DATABASE_URL")
|
|
if not raw_url:
|
|
raw_url = "postgresql://admin:PASSWORD_111@postgres-db:5432/service_finder"
|
|
DATABASE_URL = raw_url.replace("postgresql://", "postgresql+asyncpg://").replace("/service_finder_db", "/service_finder")
|
|
|
|
async def upgrade_db():
|
|
print(f"🔌 Kapcsolódás...")
|
|
engine = create_async_engine(DATABASE_URL)
|
|
|
|
async with engine.begin() as conn:
|
|
print("🌍 Felhasználói tábla bővítése (Ország + Alapértelmezett pénznem)...")
|
|
# 1. Users tábla bővítése
|
|
await conn.execute(text("""
|
|
ALTER TABLE data.users
|
|
ADD COLUMN IF NOT EXISTS country VARCHAR(2) DEFAULT 'HU',
|
|
ADD COLUMN IF NOT EXISTS default_currency VARCHAR(3) DEFAULT 'HUF';
|
|
"""))
|
|
|
|
print("💶 Költség tábla bővítése (Tranzakciós pénznem)...")
|
|
# 2. Costs tábla bővítése
|
|
await conn.execute(text("""
|
|
ALTER TABLE data.costs
|
|
ADD COLUMN IF NOT EXISTS currency VARCHAR(3) DEFAULT 'HUF';
|
|
"""))
|
|
|
|
# Frissítjük a meglévő Demo Usert (ID=1)
|
|
print("👤 Demo User beállítása: Magyarország / HUF")
|
|
await conn.execute(text("""
|
|
UPDATE data.users
|
|
SET country = 'HU', default_currency = 'HUF'
|
|
WHERE id = 1;
|
|
"""))
|
|
|
|
print("✅ KÉSZ! Az adatbázis mostantól támogatja a több pénznemet.")
|
|
await engine.dispose()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(upgrade_db())
|