add database

This commit is contained in:
2025-09-18 17:09:08 +03:00
parent 8ec1f88615
commit aafa91fb43
5 changed files with 20 additions and 23 deletions

12
app/db/database.py Normal file
View File

@@ -0,0 +1,12 @@
from config import DATABASE_URL
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import declarative_base, sessionmaker
engine = create_async_engine(DATABASE_URL, echo=True)
Base = declarative_base()
async_session = sessionmaker(bind=engine, expire_on_commit=False, class_=AsyncSession)
async def get_session() -> AsyncSession:
async with async_session() as session:
yield session

View File

@@ -1,10 +1,14 @@
import datetime as dt
from sqlalchemy import BigInteger, DateTime, ForeignKey, create_engine, func
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, sessionmaker
from sqlalchemy import (
BigInteger,
DateTime,
ForeignKey,
func,
)
from sqlalchemy.orm import Mapped, mapped_column
class Base(DeclarativeBase): ...
from app.db.database import Base
class User(Base):
@@ -33,22 +37,3 @@ class UserEvent(Base):
DateTime(timezone=True), server_default=func.now()
)
status: Mapped[str] = mapped_column(default="not confirmed")
if __name__ == "__main__":
engine = create_engine("sqlite:///test.db")
SessionMaker = sessionmaker(engine)
Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)
with SessionMaker() as session:
user = User(fullname = "Shevkunov Daniil", tg_id=12023)
event = Event(title="Event")
session.add_all([user, event])
session.flush()
user_event = UserEvent(user=user.id, event=event.id)
session.add(user_event)
session.commit()
# with SessionMaker as session: