fix: V13 idempotent migration (V12 no-op)
This commit is contained in:
@@ -1,41 +1 @@
|
|||||||
ALTER TABLE tb_employee ADD COLUMN birth_date DATE;
|
SELECT 1;
|
||||||
ALTER TABLE tb_employee ADD COLUMN education VARCHAR(20);
|
|
||||||
ALTER TABLE tb_employee ADD COLUMN major VARCHAR(100);
|
|
||||||
ALTER TABLE tb_employee ADD COLUMN graduation_date DATE;
|
|
||||||
ALTER TABLE tb_employee ADD COLUMN residence VARCHAR(255);
|
|
||||||
|
|
||||||
CREATE SEQUENCE sq_employee_emergency_contacts INCREMENT BY 50;
|
|
||||||
|
|
||||||
CREATE TABLE tb_employee_emergency_contact (
|
|
||||||
id BIGSERIAL PRIMARY KEY,
|
|
||||||
emp_id BIGINT NOT NULL REFERENCES tb_employee(id),
|
|
||||||
name VARCHAR(100) NOT NULL,
|
|
||||||
relation VARCHAR(50),
|
|
||||||
phone VARCHAR(20),
|
|
||||||
sort_order INTEGER DEFAULT 0,
|
|
||||||
created_at TIMESTAMP,
|
|
||||||
updated_at TIMESTAMP,
|
|
||||||
is_deleted CHAR(1) DEFAULT 'N'
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE INDEX idx_emergency_contact_emp_id ON tb_employee_emergency_contact(emp_id);
|
|
||||||
|
|
||||||
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
|
||||||
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'HIGH_SCHOOL', '고졸', 1, 'Y', NOW(), NOW()
|
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'HIGH_SCHOOL');
|
|
||||||
|
|
||||||
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
|
||||||
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'COLLEGE', '전문대', 2, 'Y', NOW(), NOW()
|
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'COLLEGE');
|
|
||||||
|
|
||||||
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
|
||||||
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'BACHELOR', '학사', 3, 'Y', NOW(), NOW()
|
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'BACHELOR');
|
|
||||||
|
|
||||||
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
|
||||||
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'MASTER', '석사', 4, 'Y', NOW(), NOW()
|
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'MASTER');
|
|
||||||
|
|
||||||
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
|
||||||
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'DOCTOR', '박사', 5, 'Y', NOW(), NOW()
|
|
||||||
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'DOCTOR');
|
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
DO $$
|
||||||
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'tb_employee' AND column_name = 'birth_date') THEN
|
||||||
|
ALTER TABLE tb_employee ADD COLUMN birth_date DATE;
|
||||||
|
END IF;
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'tb_employee' AND column_name = 'education') THEN
|
||||||
|
ALTER TABLE tb_employee ADD COLUMN education VARCHAR(20);
|
||||||
|
END IF;
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'tb_employee' AND column_name = 'major') THEN
|
||||||
|
ALTER TABLE tb_employee ADD COLUMN major VARCHAR(100);
|
||||||
|
END IF;
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'tb_employee' AND column_name = 'graduation_date') THEN
|
||||||
|
ALTER TABLE tb_employee ADD COLUMN graduation_date DATE;
|
||||||
|
END IF;
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'tb_employee' AND column_name = 'residence') THEN
|
||||||
|
ALTER TABLE tb_employee ADD COLUMN residence VARCHAR(255);
|
||||||
|
END IF;
|
||||||
|
END $$;
|
||||||
|
|
||||||
|
CREATE SEQUENCE IF NOT EXISTS sq_employee_emergency_contacts INCREMENT BY 50;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS tb_employee_emergency_contact (
|
||||||
|
id BIGSERIAL PRIMARY KEY,
|
||||||
|
emp_id BIGINT NOT NULL REFERENCES tb_employee(id),
|
||||||
|
name VARCHAR(100) NOT NULL,
|
||||||
|
relation VARCHAR(50),
|
||||||
|
phone VARCHAR(20),
|
||||||
|
sort_order INTEGER DEFAULT 0,
|
||||||
|
created_at TIMESTAMP,
|
||||||
|
updated_at TIMESTAMP,
|
||||||
|
is_deleted CHAR(1) DEFAULT 'N'
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE INDEX IF NOT EXISTS idx_emergency_contact_emp_id ON tb_employee_emergency_contact(emp_id);
|
||||||
|
|
||||||
|
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
||||||
|
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'HIGH_SCHOOL', '고졸', 1, 'Y', NOW(), NOW()
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'HIGH_SCHOOL');
|
||||||
|
|
||||||
|
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
||||||
|
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'COLLEGE', '전문대', 2, 'Y', NOW(), NOW()
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'COLLEGE');
|
||||||
|
|
||||||
|
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
||||||
|
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'BACHELOR', '학사', 3, 'Y', NOW(), NOW()
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'BACHELOR');
|
||||||
|
|
||||||
|
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
||||||
|
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'MASTER', '석사', 4, 'Y', NOW(), NOW()
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'MASTER');
|
||||||
|
|
||||||
|
INSERT INTO tb_common_code (id, group_code, code_value, code_name, sort_order, is_active, created_at, updated_at)
|
||||||
|
SELECT nextval('sq_common_codes'), 'EDUCATION_LEVEL', 'DOCTOR', '박사', 5, 'Y', NOW(), NOW()
|
||||||
|
WHERE NOT EXISTS (SELECT 1 FROM tb_common_code WHERE group_code = 'EDUCATION_LEVEL' AND code_value = 'DOCTOR');
|
||||||
Reference in New Issue
Block a user