Files
tg_bot_language/database/db.py
mamonov.ep 1a02c979d0 Реализован MVP телеграм бота для изучения языков
Основные компоненты:
- База данных (PostgreSQL) с моделями User, Vocabulary, Task
- Интеграция с OpenAI API для перевода слов
- Команды: /start, /add, /vocabulary, /help
- Сервисы для работы с пользователями, словарем и AI

Реализовано:
 Регистрация и приветствие пользователя
 Добавление слов в словарь с автоматическим переводом
 Просмотр личного словаря
 Архитектура проекта с разделением на слои

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:09:54 +03:00

30 lines
838 B
Python

from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker, AsyncSession
from config.settings import settings
from database.models import Base
# Создание движка базы данных
engine = create_async_engine(
settings.database_url,
echo=settings.debug,
future=True
)
# Фабрика сессий
async_session_maker = async_sessionmaker(
engine,
class_=AsyncSession,
expire_on_commit=False
)
async def init_db():
"""Инициализация базы данных (создание таблиц)"""
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
async def get_session() -> AsyncSession:
"""Получение сессии базы данных"""
async with async_session_maker() as session:
yield session