Описание изменений
This commit is contained in:
21
backend/migrations/cleanup.sql
Normal file
21
backend/migrations/cleanup.sql
Normal file
@@ -0,0 +1,21 @@
|
||||
-- Создаем временную таблицу для уникальных адресов
|
||||
CREATE TEMP TABLE unique_users AS
|
||||
SELECT DISTINCT ON (LOWER(address))
|
||||
id,
|
||||
LOWER(address) as address,
|
||||
created_at
|
||||
FROM users
|
||||
ORDER BY LOWER(address), created_at ASC;
|
||||
|
||||
-- Удаляем все записи из users
|
||||
TRUNCATE users CASCADE;
|
||||
|
||||
-- Восстанавливаем уникальные записи
|
||||
INSERT INTO users (id, address, created_at)
|
||||
SELECT id, address, created_at FROM unique_users;
|
||||
|
||||
-- Обновляем последовательность id
|
||||
SELECT setval('users_id_seq', (SELECT MAX(id) FROM users));
|
||||
|
||||
-- Удаляем временную таблицу
|
||||
DROP TABLE unique_users;
|
||||
@@ -29,4 +29,12 @@ CREATE TABLE IF NOT EXISTS chat_history (
|
||||
|
||||
-- Даем права пользователю
|
||||
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO postgres;
|
||||
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO postgres;
|
||||
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO postgres;
|
||||
|
||||
-- Обновляем существующие адреса
|
||||
UPDATE users SET address = LOWER(address);
|
||||
|
||||
-- Удаляем дубликаты
|
||||
DELETE FROM users a USING users b
|
||||
WHERE a.id > b.id
|
||||
AND LOWER(a.address) = LOWER(b.address);
|
||||
Reference in New Issue
Block a user