TaskFlow / src /database.py
BilalCode's picture
taskflow todo app
310260a
raw
history blame contribute delete
865 Bytes
from sqlmodel import SQLModel, create_engine, Session
from sqlalchemy.pool import NullPool
from .config import settings
# Import models to register them with SQLModel metadata
from .models.user import User # noqa: F401
from .models.task import Task # noqa: F401
from .models.conversation import Conversation # noqa: F401
from .models.message import Message # noqa: F401
# Create engine with appropriate pooling for serverless
engine = create_engine(
settings.DATABASE_URL,
echo=settings.DEBUG,
poolclass=NullPool # Let Neon handle connection pooling
)
def init_db():
"""Initialize database by creating all tables."""
SQLModel.metadata.create_all(engine)
print("Database tables created successfully")
def get_session():
"""Dependency for getting database session."""
with Session(engine) as session:
yield session