29 lines
1.9 KiB
SQL
29 lines
1.9 KiB
SQL
-- negodata 전용 로컬/개발 시드 — company.companies + company.users 만 채운다.
|
|
-- (negodata 로그인은 company.users 를 쓴다. negosium 의 company.tbl_account 는 대상이 아님.)
|
|
-- 전체/공용 시드가 아니다. 재실행 안전(WHERE NOT EXISTS) — 운영 DB 에는 적용하지 않는다.
|
|
-- admin 계정은 negodata 프론트 로그인 폼 기본값(admin / admin1234)에 대응한다.
|
|
-- 적용(도커 postgres): docker exec -i negosium-db psql -U postgres -d negosium_db < postgres-init/03-seed-negodata.sql
|
|
-- created_at/updated_at/deleted 은 MainTableMixin server_default 로 자동 채워져 INSERT 에 안 넣는다.
|
|
|
|
\connect negosium_db
|
|
|
|
-- 회사 1개 (고정 UUID). status 1=active. code/industry 는 코드값이라 비워둠(nullable).
|
|
INSERT INTO company.companies (company_id, name, business_number, representative_name, email, contact_number, website_url, status)
|
|
SELECT '00000000-0000-0000-0000-000000000001', '아이마켓코리아', '220-88-21724', '홍길동',
|
|
'admin@imarketkorea.com', '02-3708-5000', 'https://www.imarketkorea.com', 1
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM company.companies WHERE company_id = '00000000-0000-0000-0000-000000000001'
|
|
);
|
|
|
|
-- admin 유저. password 는 'admin123' 의 bcrypt 해시(백엔드 GetHashedPW 와 동일 알고리즘, checkpw 로 검증됨).
|
|
-- role 2=manager (UserRole.MANAGER; ADMIN 코드는 enum 에 없어 최상위인 MANAGER 사용). status 1=active.
|
|
INSERT INTO company.users (user_id, company_id, id, password, name, email, contact_number, last_accessed_at, status, role)
|
|
SELECT '00000000-0000-0000-0000-000000000002',
|
|
'00000000-0000-0000-0000-000000000001',
|
|
'admin',
|
|
'$2b$12$KY4T0kXQ2npvvt71iWZG0.JZHlMNt9angIkE/7.lBC4vta4dHgrj2',
|
|
'관리자', 'admin@imarketkorea.com', '02-3708-5000', now(), 1, 2
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM company.users WHERE id = 'admin' AND deleted = FALSE
|
|
);
|