database.py 586 B

123456789101112131415
  1. from sqlalchemy import create_engine
  2. from sqlalchemy.ext.declarative import declarative_base
  3. from sqlalchemy.orm import sessionmaker
  4. SQLALCHEMY_DATABASE_URL = "sqlite:///./data.db"
  5. # connect_args={"check_same_thread": False} is required only for SQLite.
  6. # It's needed because SQLite only allows one thread to communicate with it,
  7. # and FastAPI can use multiple threads per request.
  8. engine = create_engine(
  9. SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False}
  10. )
  11. SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
  12. Base = declarative_base()