chartbastan/backend/app/config_db.py
2026-02-01 09:31:38 +01:00

33 lines
1.2 KiB
Python

"""
Configuration centralisée de la base de données.
Ce fichier gère le chemin de la base de données et s'assure que
le frontend et le backend utilisent la MÊME base de données.
"""
import os
from pathlib import Path
# Chemin racine du projet
PROJECT_ROOT = Path(__file__).parent.parent
# Nom de la base de données SQLite
DB_FILENAME = "chartbastan.db"
# Chemins possibles pour la base de données (ordre de priorité)
DB_PATHS = [
PROJECT_ROOT / DB_FILENAME, # Racine : chartbastan/chartbastan.db (frontend + backend)
PROJECT_ROOT / "backend" / DB_FILENAME, # backend/chartbastan.db (compatibilité avec fichiers existants)
PROJECT_ROOT / "chartbastan" / DB_FILENAME, # chartbastan/chartbastan.db (frontend seulement)
]
# Chemin absolu de la base de données
DB_PATH = DB_PATHS[0] # Utiliser la base de données dans le dossier racine (PARTAGÉE par frontend et backend)
# Configuration SQLAlchemy (pour backend)
DATABASE_URL = f"sqlite:///{DB_PATH.as_posix()}"
DATABASE_URL_BACKEND_ONLY = f"sqlite:///{DB_PATHS[1].as_posix()}"
# Configuration Frontend Drizzle (pour frontend)
# Le frontend utilise chartbastan.db à la racine (même que le backend)