SPB Git forge

spb/api-ka

Public

API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com

48commits 1branches 0releases
5.9 MBsize
maindefault branch
19 days agolast push
Python 60.9% HTML 21% TypeScript 7.3% JavaScript 5.2% CSS 4.8% Shell 0.8%
1.7 KB · 60 lines python
Raw Blame History
1# ============================================2# Projet   : API-KA3# Fichier  : src/database/migrations/env.py4# Node     : m3u96b5# Author   : Simon-Pierre Boucher6# Contact  : contact@spboucher.ai7# Date     : 2026-08-168# ============================================9"""Environnement Alembic : migrations du schéma API-KA (PostgreSQL sur m3u96b)."""1011from __future__ import annotations1213from logging.config import fileConfig1415from alembic import context16from sqlalchemy import engine_from_config, pool1718from src.config import get_settings19from src.database.models import Base2021config = context.config2223if config.config_file_name is not None:24    fileConfig(config.config_file_name)2526config.set_main_option("sqlalchemy.url", get_settings().database_url)2728target_metadata = Base.metadata293031def run_migrations_offline() -> None:32    """Exécute les migrations en mode 'offline' (génération SQL sans connexion)."""33    context.configure(34        url=config.get_main_option("sqlalchemy.url"),35        target_metadata=target_metadata,36        literal_binds=True,37        dialect_opts={"paramstyle": "named"},38    )39    with context.begin_transaction():40        context.run_migrations()414243def run_migrations_online() -> None:44    """Exécute les migrations en mode 'online' (connexion directe à la base)."""45    connectable = engine_from_config(46        config.get_section(config.config_ini_section, {}),47        prefix="sqlalchemy.",48        poolclass=pool.NullPool,49    )50    with connectable.connect() as connection:51        context.configure(connection=connection, target_metadata=target_metadata)52        with context.begin_transaction():53            context.run_migrations()545556if context.is_offline_mode():57    run_migrations_offline()58else:59    run_migrations_online()60