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

72 lines
2.7 KiB
Bash
Executable File
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.

#!/bin/bash
# Скрипт для очистки всех взаимодействий между пользователями
# Использование: ./clear_interactions.sh
set -e
# Цвета для вывода
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${YELLOW}================================================${NC}"
echo -e "${YELLOW} Скрипт очистки взаимодействий пользователей${NC}"
echo -e "${YELLOW}================================================${NC}"
echo ""
echo -e "${RED}ВНИМАНИЕ!${NC} Будут удалены:"
echo " - Все сообщения (messages)"
echo " - Все матчи (matches)"
echo " - Все просмотры профилей (profile_views)"
echo " - Все свайпы (swipes)"
echo " - Все уведомления (notifications)"
echo ""
echo -e "Профили пользователей ${GREEN}НЕ${NC} будут удалены."
echo ""
# Запрос подтверждения
read -p "Вы уверены, что хотите продолжить? (yes/no): " confirmation
if [ "$confirmation" != "yes" ]; then
echo -e "${YELLOW}Операция отменена.${NC}"
exit 0
fi
echo ""
echo -e "${YELLOW}Загрузка переменных окружения...${NC}"
# Загрузка переменных из .env файла
if [ -f .env ]; then
export $(cat .env | grep -v '^#' | xargs)
else
echo -e "${RED}Ошибка: файл .env не найден!${NC}"
exit 1
fi
# Проверка наличия необходимых переменных
if [ -z "$DB_HOST" ] || [ -z "$DB_PORT" ] || [ -z "$DB_NAME" ] || [ -z "$DB_USERNAME" ] || [ -z "$DB_PASSWORD" ]; then
echo -e "${RED}Ошибка: не все переменные БД определены в .env${NC}"
exit 1
fi
echo -e "${GREEN}Переменные загружены успешно.${NC}"
echo ""
echo -e "${YELLOW}Выполнение SQL скрипта...${NC}"
# Выполнение SQL скрипта
PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USERNAME" -d "$DB_NAME" -f sql/clear_interactions.sql
if [ $? -eq 0 ]; then
echo ""
echo -e "${GREEN}================================================${NC}"
echo -e "${GREEN} ✅ Очистка выполнена успешно!${NC}"
echo -e "${GREEN}================================================${NC}"
else
echo ""
echo -e "${RED}================================================${NC}"
echo -e "${RED} ❌ Ошибка при выполнении очистки!${NC}"
echo -e "${RED}================================================${NC}"
exit 1
fi