-- ============================================================================ -- Обновление демо-пользователей auth."user" на проде kit-auth2 (МЕРЖ по id). -- -- Как применять: открыть в pgAdmin -> Query Tool на подключении к БД kit-auth2 -- (роль user_auth / user_auth2 — владелец таблицы, либо postgres) и выполнить (F5). -- -- Зачем: init.sh отрабатывает только на пустом томе, поэтому правки seed в -- init/schemas/auth/auth.post-deploy.psql не доезжают до уже инициализированной прод-БД. -- -- Что делает: идемпотентный UPSERT по PK id для строк 1..7 (INSERT ... ON CONFLICT -- (id) DO UPDATE). Строки 1..4 обновляются до нового вида, 5..7 добавляются; любые -- строки с id вне 1..7 (реальные зарегистрированные пользователи) НЕ трогаются. -- Можно запускать повторно — результат тот же. TRUNCATE не выполняется. -- -- id заданы ЯВНО (1..7) для выравнивания с cabinet_user.user_id в Kit.Partner.Service. -- Значения синхронны с init/schemas/auth/auth.post-deploy.psql (там id неявный serial). -- ============================================================================ BEGIN; INSERT INTO auth."user"( id, outer_user_id, login, password, password_temp, first_name, middle_name, last_name, email, phone, sex, date_created, is_blocked, is_deleted, date_deleted) VALUES -- 1: администратор портала ОТ5 (1, 'user_ot5', 'ot5', '', 'ot5_pass', 'Администратор', 'портала', 'ОТ5', 'admin@ot5.app', '11-11-11', true, '2025-01-01', false, false, null), -- 2: администратор партнёра ОТ5 (2, 'p_ot5', 'p_ot5', '', 'p_ot5_pass', 'Администратор', 'партнёра', 'Kit ОТ5', 'kit_admin@ot5.app', '11-11-11', true, '2025-01-01', false, false, null), -- 3: администратор партнёра ОТ6 (3, 'p_ot6', 'p_ot6', '', 'p_ot6_pass', 'Администратор', 'партнёра', 'Kit ОТ6', 'kit_admin@ot6.app', '11-11-11', true, '2025-01-01', false, false, null), -- 4: админ контрагента ОТ5-1 (4, 'c_ot5_1', 'c_ot5_1', '', 'c_ot5_1_pass', 'Админ', 'контрагента', 'ОТ5 Контрагент 1', 'c1@ot5.app', '44-44-44', true, '2025-01-01', false, false, null), -- 5: админ контрагента ОТ5-2 (5, 'c_ot5_2', 'c_ot5_2', '', 'c_ot5_2_pass', 'Админ', 'контрагента', 'ОТ5 Контрагент 2', 'c2@ot5.app', '55-55-55', false, '2025-01-01', false, false, null), -- 6: админ контрагента ОТ6-1 (6, 'c_ot6_1', 'c_ot6_1', '', 'c_ot6_1_pass', 'Админ', 'контрагента', 'ОТ6 Контрагент 1', 'c1@ot6.app', '66-66-66', true, '2025-01-01', false, false, null), -- 7: админ контрагента ОТ6-2 (7, 'c_ot6_2', 'c_ot6_2', '', 'c_ot6_2_pass', 'Админ', 'контрагента', 'ОТ6 Контрагент 2', 'c2@ot6.app', '77-77-77', false, '2025-01-01', false, false, null) ON CONFLICT (id) DO UPDATE SET outer_user_id = EXCLUDED.outer_user_id, login = EXCLUDED.login, password = EXCLUDED.password, password_temp = EXCLUDED.password_temp, first_name = EXCLUDED.first_name, middle_name = EXCLUDED.middle_name, last_name = EXCLUDED.last_name, email = EXCLUDED.email, phone = EXCLUDED.phone, sex = EXCLUDED.sex, date_created = EXCLUDED.date_created, is_blocked = EXCLUDED.is_blocked, is_deleted = EXCLUDED.is_deleted, date_deleted = EXCLUDED.date_deleted; -- Досбросить serial, чтобы будущий INSERT без id (напр. /auth/register) не наткнулся -- на занятые id 1..7. SELECT setval(pg_get_serial_sequence('auth."user"', 'id'), (SELECT COALESCE(MAX(id), 1) FROM auth."user")); COMMIT; -- Проверка результата (выполнить отдельно после COMMIT при необходимости): -- SELECT id, outer_user_id, login, email, is_blocked FROM auth."user" ORDER BY id;