fix: V13 idempotent migration (V12 no-op)
This commit is contained in:
@@ -1,41 +1 @@
|
||||
ALTER TABLE tb_employee ADD COLUMN birth_date DATE;
|
||||
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');
|
||||
SELECT 1;
|
||||
|
||||
@@ -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