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