Files
tg_tinder_bot/bin/CLEAR_INTERACTIONS_README.md
2025-11-06 15:34:51 +09:00

86 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Скрипт очистки взаимодействий пользователей
## Описание
Этот скрипт удаляет все взаимодействия между пользователями, оставляя только сами профили. Полезно для тестирования или сброса состояния приложения.
## Что удаляется
-**Messages** - все сообщения в чатах
-**Matches** - все матчи между пользователями
-**Profile Views** - все просмотры профилей
-**Swipes** - все свайпы (лайки, дизлайки, суперлайки)
-**Notifications** - все уведомления
## Что НЕ удаляется
-**Users** - пользователи остаются
-**Profiles** - профили пользователей остаются
## Использование
### Способ 1: Через Makefile (рекомендуется)
```bash
make clear-interactions
```
### Способ 2: Прямой запуск скрипта
```bash
./bin/clear_interactions.sh
```
### Способ 3: Прямое выполнение SQL
```bash
PGPASSWORD='your_password' psql -h host -U username -d database -f sql/clear_interactions.sql
```
## Подтверждение
Скрипт запросит подтверждение перед выполнением:
```
Вы уверены, что хотите продолжить? (yes/no):
```
Введите `yes` для продолжения или `no` для отмены.
## Требования
- Файл `.env` должен существовать и содержать переменные:
- `DB_HOST`
- `DB_PORT`
- `DB_NAME`
- `DB_USERNAME`
- `DB_PASSWORD`
## Вывод
После успешного выполнения скрипт покажет статистику:
```
table_name | remaining_records
-------------------+-------------------
messages | 0
matches | 0
profile_views | 0
swipes | 0
notifications | 0
users | 2
profiles | 2
```
## Безопасность
- Скрипт использует транзакцию (BEGIN/COMMIT) для безопасности
- Все операции выполняются атомарно
- В случае ошибки изменения откатываются
## Примечания
- ⚠️ **Необратимая операция!** Удаленные данные нельзя восстановить
- 💡 Рекомендуется делать резервную копию БД перед запуском
- 🔒 Убедитесь, что у вас есть права на удаление данных в БД