hgzero/meeting/bin/main/db/migration/V4__fix_missing_columns.sql

34 lines
1.3 KiB
SQL

-- V4: 누락된 컬럼 추가 및 스키마 수정
-- 기존 테이블에 누락된 컬럼들을 추가합니다.
-- 1. 시퀀스 생성 (먼저)
CREATE SEQUENCE IF NOT EXISTS minutes_sections_temp_seq;
-- 2. minutes_sections 테이블에 section_id 컬럼 추가 (Primary Key)
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
WHERE table_name = 'minutes_sections' AND column_name = 'section_id') THEN
-- 임시 ID 컬럼으로 시작
ALTER TABLE minutes_sections ADD COLUMN temp_section_id VARCHAR(50);
UPDATE minutes_sections SET temp_section_id = 'section-' || nextval('minutes_sections_temp_seq'::regclass)
WHERE temp_section_id IS NULL;
-- 기존 Primary Key 제거 (있다면)
ALTER TABLE minutes_sections DROP CONSTRAINT IF EXISTS minutes_sections_pkey;
-- temp_section_id를 section_id로 변경
ALTER TABLE minutes_sections RENAME COLUMN temp_section_id TO section_id;
ALTER TABLE minutes_sections ALTER COLUMN section_id SET NOT NULL;
-- 새로운 Primary Key 설정
ALTER TABLE minutes_sections ADD PRIMARY KEY (section_id);
END IF;
END $$;
-- 완료 메시지
DO $$
BEGIN
RAISE NOTICE 'Missing columns fixed successfully';
END $$;