#!/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