Note

샘플

BEGIN;

------------------------------------------------------------------------------
-- 1. 컬럼 변경한 임시 스키마.테이블 생성
------------------------------------------------------------------------------
-- DROP SCHEMA IF EXISTS tmp_migration CASCADE;
CREATE SCHEMA IF NOT EXISTS tmp_migration;
       DROP TABLE IF EXISTS tmp_migration.**__table__**;
               CREATE TABLE tmp_migration.**__table__** AS 
SELECT 
  -------------------
  -- 컬럼 변경사항 --
  -------------------
FROM **__schema__**.**__table__**;

------------------------------------------------------------------------------
-- 2. 원본 테이블 제거 후 임시 테이블로부터 마이그레이션
------------------------------------------------------------------------------
-- [1] FK 무력화
SELECT * FROM F_GATHER_ALL_FK_REF_TO_TABLE('**__schema__**.**__table__**');

-- [2] 테이블 제거 및 재생성 (컬럼 변경 이후 DDL)
DROP TABLE **__schema__**.**__table__**;
CREATE TABLE ~

-- [3] 데이터 마이그레이션
INSERT INTO **__schema__**.**__table__**
SELECT * FROM tmp_migration.**__table__**;

-- [4] FK 재설정
SELECT * FROM F_GATHER_ALL_FK_REF_TO_TABLE('**__schema__**.**__table__**');

-- [5] Serial 존재하는 경우 리셋
CALL RESET_ALL_SERIALS();

-- 검토 후 마무리
SELECT * FROM **__schema__**.**__table__**;

--COMMIT;

예시