Files
acs/migrations/005_seed_test_users.sql
2026-07-14 16:02:58 +09:00

49 lines
2.1 KiB
SQL

-- Ensure baseline ACS test accounts exist in the Node/PostgreSQL deployment.
-- Passwords:
-- admin/security/host = ChangeMe123!
-- a/s/h = 1
WITH upserted AS (
INSERT INTO users (
created_at,
updated_at,
username,
password_hash,
full_name,
email,
department,
must_change_password,
enabled,
locked
)
VALUES
(now(), now(), 'admin', '$2a$12$7FBM5I4IOmKQHmBbAm2AAu3HQ3FvOkazzuBk1Hnd.gr68UekEusEa', 'Admin', 'admin@itcenter.local', 'IT Ops', TRUE, TRUE, FALSE),
(now(), now(), 'security', '$2a$12$7FBM5I4IOmKQHmBbAm2AAu3HQ3FvOkazzuBk1Hnd.gr68UekEusEa', 'Security', 'security@itcenter.local', 'Security', TRUE, TRUE, FALSE),
(now(), now(), 'host', '$2a$12$7FBM5I4IOmKQHmBbAm2AAu3HQ3FvOkazzuBk1Hnd.gr68UekEusEa', 'Host', 'host@itcenter.local', 'Dev Team', TRUE, TRUE, FALSE),
(now(), now(), 'a', '$2a$12$aQ84.8Z4w/9GLG4gJkBu7OAHU3v9/BR5ESLimxpnETZ.pxnzylgkW', 'Admin', 'a@itcenter.local', 'IT Ops', FALSE, TRUE, FALSE),
(now(), now(), 's', '$2a$12$aQ84.8Z4w/9GLG4gJkBu7OAHU3v9/BR5ESLimxpnETZ.pxnzylgkW', 'Security', 's@itcenter.local', 'Security', FALSE, TRUE, FALSE),
(now(), now(), 'h', '$2a$12$aQ84.8Z4w/9GLG4gJkBu7OAHU3v9/BR5ESLimxpnETZ.pxnzylgkW', 'Host', 'h@itcenter.local', 'Dev Team', FALSE, TRUE, FALSE)
ON CONFLICT (username) DO UPDATE
SET updated_at = now(),
password_hash = EXCLUDED.password_hash,
full_name = EXCLUDED.full_name,
email = EXCLUDED.email,
department = EXCLUDED.department,
must_change_password = EXCLUDED.must_change_password,
enabled = TRUE,
locked = FALSE
RETURNING id, username
)
DELETE FROM user_roles
WHERE user_id IN (SELECT id FROM upserted);
INSERT INTO user_roles (user_id, role)
SELECT id, role
FROM (
SELECT id, 'ADMIN' AS role FROM users WHERE username IN ('admin', 'a')
UNION ALL
SELECT id, 'SECURITY' AS role FROM users WHERE username IN ('security', 's')
UNION ALL
SELECT id, 'HOST' AS role FROM users WHERE username IN ('host', 'h')
) seeded_roles;