# ============================================================================= # QWHPI — Quebec Weekly Housing Price Index # Author : Simon-Pierre Boucher # Contact : contact@spboucher.ai # File : db/migrations/env.py # Purpose : Alembic environment — runs SQL migrations against DATABASE_URL. # ============================================================================= """Alembic migration environment (offline + online modes).""" from __future__ import annotations import os from alembic import context from sqlalchemy import create_engine url = os.environ.get("DATABASE_URL", "postgresql://qwhpi:qwhpi@localhost:5432/qwhpi") def run_migrations_offline() -> None: context.configure(url=url, literal_binds=True) with context.begin_transaction(): context.run_migrations() def run_migrations_online() -> None: engine = create_engine(url) with engine.connect() as connection: context.configure(connection=connection) with context.begin_transaction(): context.run_migrations() if context.is_offline_mode(): run_migrations_offline() else: run_migrations_online()