Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

스키마 변경 시 사용자 편집 이전

객체 유형의 기반 데이터소스, 기본 키나 속성 자료형을 바꾸면 기존 사용자 편집을 새 정의에 맞게 처리해야 합니다. OSv2의 스키마 이전(Schema migration)은 편집을 이동하거나 자료형을 변환하거나 지정 범위의 편집을 제거하는 명령을 제공합니다.

구형 OSv1에는 이 프레임워크가 없으므로 호환성을 깨는 변경으로 기존 편집을 잃을 수 있습니다. OSv2에서는 Ontology Manager가 필요한 이전을 감지하고 선택 가능한 명령을 안내합니다.

변경 검토와 적용

예를 들어 편집 이력이 있는 Description 속성을 삭제하면 기존 편집을 처리해야 한다는 경고가 나타납니다.

Review changes의 Migrations 탭에서 변경에 맞는 이전을 정의해야 저장할 수 있습니다. 이전을 지정하지 않은 상태에서는 저장을 차단합니다.

저장하면 새 객체 유형 스키마 버전을 만들고 대체 Funnel 배치 파이프라인을 실행합니다. 파이프라인을 완료하고 객체 데이터베이스의 데이터 적재(Hydration)가 끝난 뒤 OSS와 다른 온톨로지 API가 새 버전을 조회할 수 있습니다.

편집 이전이 필요한 변경

  • 객체 유형의 입력 데이터소스 변경
  • 객체 유형의 기본 키 변경
  • 속성 자료형 변경
  • 사용자 편집이 있는 속성의 ID 변경 또는 삭제
  • 사용자 편집이 있는 구조체 필드 삭제
  • 구조체 필드 자료형 변경

표시 이름, 제목 키, 렌더링 힌트, 유형 클래스나 표시 여부를 바꾸는 것은 기존 편집을 이전해야 하는 변경으로 분류하지 않습니다. 사용자 편집을 받은 적 없는 속성이나 구조체 필드의 삭제 및 스키마 변경도 편집 이전이 필요하지 않습니다. 다만 속성 삭제나 자료형 변경이 앱과 함수에 미치는 영향은 별도로 확인해야 합니다.

지원 이전 명령

명령범위와 용도
Drop all property edits지정 속성의 모든 기존 편집을 삭제합니다. 다른 속성의 편집은 유지합니다. 대체 속성 없이 기존 속성을 삭제할 때 사용합니다.
Drop all struct field edits지정 구조체 필드의 편집만 삭제합니다. 같은 구조체의 다른 필드는 영향을 받지 않습니다.
Drop all edits객체 유형 전체의 모든 사용자 편집을 제거하여 입력 데이터소스 상태로 돌아갑니다. Datasources의 Edits에서 Delete edits로 실행할 수 있습니다.
Move edits특정 속성 또는 객체 유형 전체의 편집을 이동합니다. 속성 이름을 바꾸거나 새 속성으로 대체할 때, 입력 데이터소스를 교체할 때 사용합니다.
Move struct field edits기존 구조체 필드의 편집을 다른 구조체 필드로 옮깁니다.
Cast property to new type속성의 기존 편집 값을 지원되는 새 자료형으로 변환합니다.
Cast struct field to new type구조체 필드의 기존 편집 값을 지원되는 새 자료형으로 변환합니다.
Revert migration앞서 적용한 스키마 이전을 되돌립니다.

한 번에 적용할 수 있는 스키마 이전은 최대 500개입니다. 이를 넘으면 여러 배치로 나누어야 합니다. 기본 키 변경은 호환성을 깨는 변경이지만, 현재 프레임워크는 기본 키 속성에 이전 명령을 적용하는 기능을 지원하지 않습니다.

속성 자료형 변환

Cast property to new type의 지원 방향은 다음과 같습니다. 지원하는 방향이라도 기존 값이 대상 자료형의 엄격한 값 제약을 충족해야 합니다.

기존 자료형새 자료형
AttachmentString
BooleanString
DateString
DoubleInteger, Long, String
GeopointString
GeoshapeString
IntegerLong, Double, String
LongInteger, Double, String
Mandatory markingString
StringInteger, Long, Double, Boolean, Date, Timestamp, Geopoint, Geoshape
TimestampString

구조체 필드 자료형 변환

Cast struct field to new type은 다음 방향을 지원합니다. 일반 속성과 지원 목록이 다릅니다.

기존 자료형새 자료형
BooleanString
DateString
DoubleInteger, Long, String
GeopointString
IntegerLong, Double, String
LongInteger, Double, String
StringInteger, Long, Double, Boolean, Date, Timestamp, Geopoint
TimestampString

이전 되돌리기와 실패 복구

Ontology Manager의 해당 온톨로지 History에서 변경 이력을 열고 Migrations를 펼칩니다. 이전 이벤트의 ... 메뉴에서 Revert를 선택한 뒤 Ontology Manager의 변경을 저장합니다.

이전이 완료되지 않으면 Datasources의 대체 파이프라인 위에 오류와 복구 안내가 나타납니다. 복구를 위해 추가 이전이 필요한 경우 Fix schema migrations를 선택하여 필요한 명령을 준비할 수 있습니다.