Files
acs/migrations/006_admin_config.sql
2026-07-16 11:00:09 +09:00

50 lines
2.5 KiB
SQL

CREATE TABLE IF NOT EXISTS purpose_codes (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
created_at TIMESTAMP NOT NULL DEFAULT now(),
updated_at TIMESTAMP NOT NULL DEFAULT now(),
code VARCHAR(40) NOT NULL UNIQUE,
name VARCHAR(80) NOT NULL,
sort_order INTEGER NOT NULL,
active BOOLEAN NOT NULL,
custom_allowed BOOLEAN NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_purpose_code_active_sort ON purpose_codes (active, sort_order);
CREATE TABLE IF NOT EXISTS system_settings (
id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
created_at TIMESTAMP NOT NULL DEFAULT now(),
updated_at TIMESTAMP NOT NULL DEFAULT now(),
setting_key VARCHAR(80) NOT NULL UNIQUE,
setting_value VARCHAR(255)
);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS work_name VARCHAR(255);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS control_name VARCHAR(80);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS control_team VARCHAR(80);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS control_contact VARCHAR(60);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS watcher1_name VARCHAR(80);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS watcher1_team VARCHAR(80);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS watcher1_contact VARCHAR(60);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS watcher2_name VARCHAR(80);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS watcher2_team VARCHAR(80);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS watcher2_contact VARCHAR(60);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS purpose_code VARCHAR(40);
ALTER TABLE visit_requests ADD COLUMN IF NOT EXISTS purpose_detail VARCHAR(255);
INSERT INTO purpose_codes (created_at, updated_at, code, name, sort_order, active, custom_allowed)
VALUES
(now(), now(), 'WORK', '작업', 10, TRUE, FALSE),
(now(), now(), 'INSPECTION', '점검', 20, TRUE, FALSE),
(now(), now(), 'DELIVERY', '납품', 30, TRUE, FALSE),
(now(), now(), 'MEETING', '회의', 40, TRUE, FALSE),
(now(), now(), 'VISIT', '방문', 50, TRUE, FALSE),
(now(), now(), 'ETC', '기타', 100, TRUE, TRUE)
ON CONFLICT (code) DO NOTHING;
INSERT INTO system_settings (created_at, updated_at, setting_key, setting_value)
VALUES
(now(), now(), 'watcher1.name', '류관순'),
(now(), now(), 'watcher1.team', 'IT전략국'),
(now(), now(), 'watcher1.contact', '313')
ON CONFLICT (setting_key) DO NOTHING;