| from sqlmodel import SQLModel, create_engine, Session |
| from sqlalchemy.pool import NullPool |
| from .config import settings |
|
|
| |
| from .models.user import User |
| from .models.task import Task |
| from .models.conversation import Conversation |
| from .models.message import Message |
|
|
|
|
| |
| engine = create_engine( |
| settings.DATABASE_URL, |
| echo=settings.DEBUG, |
| poolclass=NullPool |
| ) |
|
|
|
|
| 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 |
|
|