"""Initialisation du schema SQLite. La V1 n'utilise pas Alembic : le schema tient dans une seule table et `create_all` suffit. Toute evolution future du schema devra soit passer par Alembic, soit par une migration explicite ajoutee ici (voir README). """ from __future__ import annotations import logging from sqlalchemy import Engine from app.db.base import Base from app.db.session import engine as default_engine from app.models import share as _share_model # noqa: F401 (enregistre la table) logger = logging.getLogger(__name__) SCHEMA_VERSION = 1 def init_db(engine: Engine | None = None) -> None: target = engine or default_engine Base.metadata.create_all(bind=target) logger.info("Schema SQLite initialise (version %s)", SCHEMA_VERSION)