Realm Studio에서 스키마 수정
개요
Realm Studio는 스키마에 호환성이 손상되지 않는 변경을 수행할 수 있는 도구를 제공합니다. 다음을 수행할 수 있습니다.
중요
Realm Studio에서 스키마를 변경하는 경우 클라이언트 앱에서 사용할 때 영역 파일을 마이그레이션해야 합니다.
스키마를 변경한 후 Realm Studio 내에서 새 속성 및 클래스 에 값을 추가 할 수 있습니다. 새 클래스와 속성을 기반으로 새 객체를 만들 수도 있습니다. 이를 통해 필요한 객체 모델을 얻을 때까지 스키마 변경을 실험할 수 있는 그래픽 사용자 인터페이스(GUI) 도구를 사용할 수 있습니다.
변경을 완료하면 Realm Studio 에서 모델 정의를 내보낼 수 있습니다. 이렇게 하면 선택한 언어 새로운 클래스 정의를 얻을 수 있으며, 이를 코드에 삭제할 수 있습니다.
업데이트된 버전의 영역 파일 을 저장 하여 앱 에서 사용할 수도 있습니다. 업데이트된 스키마 가 있는 영역 파일 을 저장하는 경우 앱 에서 사용하려면 마이그레이션 을 수행 해야 합니다.
스키마에 클래스 추가
스키마에 새 클래스를 추가하려면 다음을 수행합니다.
Realm Studio 창 왼쪽 상단에 있는 Classes 헤더 옆에 있는 + 버튼을 누릅니다.
새 클래스 이름 지정
기본 키 지정(선택 사항)
Add class 버튼을 누릅니다.
이제 왼쪽 사이드바에 표시된 수업 목록에 새 수업이 표시됩니다.
클래스에 속성 추가
클래스에 속성을 추가하려면 다음을 수행합니다.
왼쪽 사이드바에서 속성을 추가하려는 클래스를 선택합니다.
Realm Studio 창 오른쪽 상단에 있는 Create {Class Name} 버튼 아래에 있는 + 버튼을 누릅니다.
새 속성 이름 지정
드롭다운 선택기에서 새 속성의 유형을 선택합니다.
필요한 경우 확인란을 클릭하여 Make this a list of strings 및 Optional: Allow a null value 을(를) 선택합니다.
Add property 버튼을 누릅니다.
새 속성이 다른 클래스 속성과 함께 표시되는 것을 볼 수 있습니다.
클래스에 이미 객체가 있는 경우 각 값에 대한 속성 필드를 클릭하여 이 속성에 대한 값을 추가할 수 있습니다. 객체가 없는 새 클래스인 경우 클래스에 새 객체를 생성할 수 있습니다.
모델 정의 저장
스키마를 변경한 후 새 스키마를 클래스 정의로 내보낼 수 있습니다.
업데이트된 클래스 정의를 내보내려면 다음과 같이 하세요:
File > Save model definitions 로 이동하여 원하는 언어를 선택합니다. 지원되는 언어는 다음과 같습니다: Swift, JavaScript, TypeScript, Java, Kotlin, C#.
새 클래스 정의의 이름과 대상을 지정합니다. Save 버튼을 누릅니다.
대상 디렉터리가 아직 존재하지 않는 경우 Realm Studio에서 디렉터리를 생성합니다. 안에는 새로운 추가 사항을 포함하여 클래스 및 속성의 전체 목록이 포함된 파일이 있습니다.
이는 스키마를 반복하는 데 유용한 도구입니다. 크로스 플랫폼 개발을 위해 클래스 정의를 여러 언어로 내보낼 수도 있습니다.
마이그레이션 수행
스키마를 변경한 후 새 속성에 값을 추가 하고 새 객체를 만들 수도 있습니다. 업데이트된 이 Realm 파일을 앱에서 사용하려는 경우 데이터를 저장할 수 있습니다. 하지만 클라이언트 앱에서 사용하려면 먼저 마이그레이션을 수행해야 합니다.
Realm에서는 스키마를 변경할 때 단조롭게 버전을 증가시켜야 합니다. 마이그레이션하지 않고 업데이트된 객체 스키마로 영역을 열려고 하면 클라이언트에서 오류가 발생합니다.
이 마이그레이션을 완료하는 방법에 대한 지침은 SDK의 마이그레이션 가이드를 참조하세요.