bd - api
This commit is contained in:
102
database/README.md
Normal file
102
database/README.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# База данных PostgreSQL для Telegram бота
|
||||
|
||||
Этот модуль содержит полную настройку для работы с PostgreSQL через SQLAlchemy.
|
||||
|
||||
## Структура файлов
|
||||
|
||||
- `database.py` - Основные классы для подключения к базе данных
|
||||
- `models.py` - Модели SQLAlchemy (таблицы)
|
||||
- `repositories.py` - Репозитории для работы с данными
|
||||
- `services.py` - Высокоуровневые сервисы
|
||||
- `example.py` - Примеры использования
|
||||
- `requirements.txt` - Зависимости
|
||||
- `.env.example` - Пример файла с переменными окружения
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
### 1. Установка зависимостей
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 2. Настройка базы данных
|
||||
|
||||
Создайте файл `.env` на основе `.env.example`:
|
||||
|
||||
```bash
|
||||
DB_USER=postgres
|
||||
DB_PASSWORD=your_password
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_NAME=telegram_bot
|
||||
```
|
||||
|
||||
### 3. Основное использование
|
||||
|
||||
```python
|
||||
from database import db_service, setup_database
|
||||
|
||||
# Настройка базы данных (создание таблиц)
|
||||
setup_database()
|
||||
|
||||
# Регистрация пользователя
|
||||
user, created = db_service.register_user(
|
||||
telegram_id=123456789,
|
||||
username="example_user",
|
||||
first_name="Иван"
|
||||
)
|
||||
|
||||
# Сохранение сообщения
|
||||
message = db_service.save_message(
|
||||
telegram_message_id=1001,
|
||||
telegram_user_id=123456789,
|
||||
text="Привет!"
|
||||
)
|
||||
|
||||
# Работа с настройками
|
||||
db_service.set_setting("bot_name", "Мой Бот")
|
||||
bot_name = db_service.get_setting("bot_name")
|
||||
```
|
||||
|
||||
## Основные возможности
|
||||
|
||||
### Модели данных
|
||||
|
||||
- **User** - Пользователи телеграм бота
|
||||
- **Message** - Сообщения от пользователей
|
||||
- **BotSettings** - Настройки бота
|
||||
|
||||
### Репозитории
|
||||
|
||||
- **UserRepository** - CRUD операции с пользователями
|
||||
- **MessageRepository** - CRUD операции с сообщениями
|
||||
- **SettingsRepository** - CRUD операции с настройками
|
||||
|
||||
### Сервисы
|
||||
|
||||
- **DatabaseService** - Высокоуровневый API для работы с данными
|
||||
|
||||
## Примеры использования
|
||||
|
||||
Запустите `example.py` для демонстрации основных возможностей:
|
||||
|
||||
```bash
|
||||
python example.py
|
||||
```
|
||||
|
||||
## Настройки
|
||||
|
||||
Все настройки подключения к базе данных можно задать через переменные окружения:
|
||||
|
||||
- `DB_USER` - имя пользователя PostgreSQL
|
||||
- `DB_PASSWORD` - пароль
|
||||
- `DB_HOST` - хост (по умолчанию localhost)
|
||||
- `DB_PORT` - порт (по умолчанию 5432)
|
||||
- `DB_NAME` - имя базы данных
|
||||
|
||||
## Требования
|
||||
|
||||
- Python 3.8+
|
||||
- PostgreSQL 10+
|
||||
- SQLAlchemy 2.0+
|
||||
Reference in New Issue
Block a user