- use sqlalchemy
from databases import Database
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
SQLALCHEMY_DATABASE_URL = f”sqlite:///app.db}”
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={“check_same_thread”: False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Dependency
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
next_db_connection = next(get_db())
- or use database create async connection
class SqliteConn:
def __init__(self, db_name):
self.database = Database(f"sqlite:///{db_name}")
def __enter__(self):
try:
self.database.connect()
return self.database
except Exception as e:
logger.debug("There is an exception when connect to database file:{}".format(e))
def __exit__(self, exc_type, exc_val, exc_tb):
self.database.disconnect()
if exc_val:
raise