/ db / __init__.py
__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.