add database
This commit is contained in:
12
app/db/database.py
Normal file
12
app/db/database.py
Normal 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
|
||||
@@ -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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user