23 lines
585 B
Python
23 lines
585 B
Python
from sqlalchemy import create_engine
|
|
from sqlalchemy.orm import DeclarativeBase, scoped_session, sessionmaker
|
|
|
|
from bot.config import DATABASE_URL
|
|
|
|
engine = create_engine(
|
|
DATABASE_URL,
|
|
connect_args={"check_same_thread": False} if "sqlite" in DATABASE_URL else {},
|
|
)
|
|
SessionFactory = sessionmaker(bind=engine)
|
|
Session = scoped_session(SessionFactory)
|
|
|
|
|
|
class Base(DeclarativeBase):
|
|
pass
|
|
|
|
|
|
def init_db() -> None:
|
|
from bot.models.user import User # noqa: F401
|
|
from bot.models.reminder import Reminder, ReminderLog # noqa: F401
|
|
|
|
Base.metadata.create_all(engine)
|