-- 004_grant_admin_to_admin_mail.sql -- Миграция: Назначение прав администратора пользователю admin@mail.ru -- Обновляем пользователя admin@mail.ru, давая ему права администратора UPDATE users SET is_admin = TRUE, is_active = TRUE, updated_at = CURRENT_TIMESTAMP WHERE email = 'admin@mail.ru'; -- Проверяем результат DO $$ DECLARE updated_count INTEGER; user_info RECORD; BEGIN GET DIAGNOSTICS updated_count = ROW_COUNT; IF updated_count > 0 THEN -- Получаем информацию об обновленном пользователе SELECT user_id, email, full_name, is_admin, is_active INTO user_info FROM users WHERE email = 'admin@mail.ru'; RAISE NOTICE 'Пользователь % (ID: %) успешно получил права администратора', user_info.email, user_info.user_id; RAISE NOTICE 'ФИО: %, Админ: %, Активен: %', user_info.full_name, user_info.is_admin, user_info.is_active; ELSE -- Если пользователь не найден, создаем его с правами админа INSERT INTO users (email, password_hash, full_name, phone, city, is_admin, is_active) VALUES ( 'admin@mail.ru', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', -- admin123 'Администратор', '+79129991223', 'Москва', TRUE, TRUE ) ON CONFLICT (email) DO UPDATE SET is_admin = TRUE, is_active = TRUE, updated_at = CURRENT_TIMESTAMP; RAISE NOTICE 'Пользователь admin@mail.ru создан/обновлен с правами администратора'; END IF; END $$;