__init__.py
1 import os 2 from sqlalchemy import create_engine 3 from sqlalchemy.orm import sessionmaker, declarative_base 4 5 # Récupérer l'URL de la base de données depuis une variable d'environnement, 6 # avec une valeur par défaut pour le développement. 7 DATABASE_URL = os.getenv("DATABASE_URL", "postgresql://user:password@localhost:5432/your_db_name") 8 9 # Création de l'engine SQLAlchemy 10 engine = create_engine(DATABASE_URL) 11 12 # Configuration de la session locale 13 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) 14 15 # Base déclarative pour nos modèles 16 Base = declarative_base() 17 18 def get_db(): 19 """ 20 Fournit une session de base de données pour chaque requête FastAPI. 21 Utilisé comme dépendance dans les routes. 22 """ 23 db = SessionLocal() 24 try: 25 yield db 26 finally: 27 db.close() 28 # Ajoutez ici d'autres fonctions pour interagir avec la base de données, 29 # comme la création, la mise à jour et la suppression d'utilisateurs, de clés API, etc. 30 # Vous pouvez également ajouter des fonctions pour récupérer des utilisateurs, 31 # des clés API, des enregistrements d'utilisation, etc.