본문으로 바로가기
본문으로 바로가기

스키마 변경 전파 지원

MySQL용 ClickPipes는 소스 테이블의 스키마 변경을 감지하고, 일부 경우에는 변경 사항을 대상 테이블에 자동으로 전파합니다. 각 DDL 연산이 어떻게 처리되는지는 아래에 설명되어 있습니다:

스키마 변경 유형동작
새 컬럼 추가 (ALTER TABLE ADD COLUMN ...)자동으로 전파됩니다. 새 컬럼은 스키마 변경 이후에 복제되는 모든 행에 대해 값이 채워집니다
기본값이 있는 새 컬럼 추가 (ALTER TABLE ADD COLUMN ... DEFAULT ...)자동으로 전파됩니다. 새 컬럼은 스키마 변경 이후에 복제되는 모든 행에 대해 값이 채워지지만, 전체 테이블을 다시 적재(full refresh)하지 않는 한 기존 행에는 기본값이 나타나지 않습니다
기존 컬럼 삭제 (ALTER TABLE DROP COLUMN ...)감지되지만 전파되지는 않습니다. 삭제된 컬럼은 스키마 변경 이후에 복제되는 모든 행에 대해 NULL로 채워집니다

MySQL 5.x 제한 사항

8.0.1 이전 MySQL 버전은 binlog에 전체 컬럼 메타데이터(binlog_row_metadata=FULL)를 포함하지 않으므로, ClickPipes는 컬럼을 순서(ordinal position) 기준으로 추적합니다. 이는 다음을 의미합니다.

  • 마지막에 컬럼을 추가하는 작업(ALTER TABLE ADD COLUMN ...)은 지원됩니다.
  • 컬럼 위치를 변경하는 모든 DDL은 순서 정보를 더 이상 신뢰성 있게 매핑할 수 없기 때문에 파이프에서 오류를 발생시킵니다. 여기에 포함되는 예시는 다음과 같습니다.
    • ALTER TABLE DROP COLUMN ...
    • ALTER TABLE ADD COLUMN ... AFTER ... / FIRST
    • ALTER TABLE MODIFY COLUMN ... AFTER ... / FIRST
    • ALTER TABLE CHANGE COLUMN ... AFTER ... / FIRST

이 오류가 발생하면 파이프를 재동기화해야 합니다.