geo distance meter

This commit is contained in:
2025-11-06 15:34:51 +09:00
parent 0bbeb0767b
commit 240864617f
8 changed files with 290 additions and 11 deletions

View File

@@ -0,0 +1,17 @@
-- Миграция: Добавление колонок для хранения координат местоположения
-- Дата: 2025-01-20
-- Описание: Добавляет location_lat и location_lon для хранения GPS-координат,
-- полученных через Kakao Maps API, для расчета расстояния между пользователями
-- Добавляем колонки для широты и долготы
ALTER TABLE profiles ADD COLUMN IF NOT EXISTS location_lat DECIMAL(10, 8);
ALTER TABLE profiles ADD COLUMN IF NOT EXISTS location_lon DECIMAL(11, 8);
-- Создаем индекс для быстрого поиска по координатам
CREATE INDEX IF NOT EXISTS idx_profiles_location
ON profiles(location_lat, location_lon)
WHERE location_lat IS NOT NULL AND location_lon IS NOT NULL;
-- Комментарии для документации
COMMENT ON COLUMN profiles.location_lat IS 'Широта местоположения пользователя (из Kakao Maps)';
COMMENT ON COLUMN profiles.location_lon IS 'Долгота местоположения пользователя (из Kakao Maps)';

View File

@@ -0,0 +1,42 @@
-- Скрипт для очистки всех взаимодействий между пользователями
-- Удаляет матчи, сообщения, свайпы и показы анкет
-- Оставляет только пользователей и их профили
-- Начало транзакции
BEGIN;
-- Удаление всех сообщений в чатах
DELETE FROM messages;
-- Удаление всех матчей
DELETE FROM matches;
-- Удаление всех просмотров профилей
DELETE FROM profile_views;
-- Удаление всех свайпов (лайки, дизлайки, суперлайки)
DELETE FROM swipes;
-- Удаление всех уведомлений
DELETE FROM notifications;
-- Фиксация транзакции
COMMIT;
-- Вывод статистики после очистки
SELECT
'messages' as table_name,
COUNT(*) as remaining_records
FROM messages
UNION ALL
SELECT 'matches', COUNT(*) FROM matches
UNION ALL
SELECT 'profile_views', COUNT(*) FROM profile_views
UNION ALL
SELECT 'swipes', COUNT(*) FROM swipes
UNION ALL
SELECT 'notifications', COUNT(*) FROM notifications
UNION ALL
SELECT 'users', COUNT(*) FROM users
UNION ALL
SELECT 'profiles', COUNT(*) FROM profiles;