문서 홈 → 애플리케이션 개발 → Atlas Device SDK
Realm 파일에서 객체 수정
이 페이지의 내용
개요
Realm Studio에서는 Realm 파일의 객체를 보고 수정할 수 있는 기능을 제공합니다. 다음을 수행할 수 있습니다.
CSV에서 데이터 가져오기
새 객체 만들기
기존 객체 수정 및 삭제
그런 다음 데이터를 JSON 또는 Realm 파일로 저장하고 클라이언트 앱 또는 프로덕션 데이터베이스로 가져올 수 있습니다.
CSV에서 가져오기
참고
데이터를 가져올 때 새 클래스를 사용하려면 가져오기를 시작하기 전에 클래스를 생성해야 합니다.
객체 생성
객체 관계 고려
새 객체를 만들 때는 객체 간의 관계에 대해 생각합니다. 예를 들어 할 일 앱에는 카테고리와 작업이 있을 수 있습니다. 범주는 작업과 대다 관계를 갖습니다. 하나의 범주에 여러 작업이 있을 수 있습니다. 작업은 범주와 역의 관계를 갖습니다.
Realm에서 대다 관계는 두 객체를 연결하는 list
속성으로 표시됩니다. 할 일 앱의 예에서 Category
클래스에는 모든 관련 Task
객체가 값인 list
속성이 있습니다.
Realm Studio UI에서는 Category
클래스를 선택합니다. 작업을 추가하려는 카테고리의 [list-of-task]
속성을 클릭합니다(예: "Work").
작업 범주와 역관계가 있는 모든 작업 객체가 표시됩니다. 작업 목록 내에서 새 작업 객체를 생성하면 Realm Studio는 작업 상위 카테고리와의 역관계를 설정합니다.
여기에서 'Review PR 1013 '에 대한 새 작업 객체를 만들 수 있습니다. 새 작업은 역관계를 통해 "작업" 범주에 연결됩니다.
Task
클래스를 직접 선택하면 새 작업 객체를 만들 수 있습니다. 그러나 해당 작업 객체는 상위 범주와 역관계를 갖지 않습니다. 그런 다음 고아 작업 객체를 해당 객체가 속한 범주에 수동으로 추가해야 합니다 .
객체 만들기
새 객체 만들기
새 객체를 만들 위치를 결정한 후에는 두 가지 방법으로 이 작업을 수행할 수 있습니다.
앱의 오른쪽 상단에 있는 Create {Class name} 버튼을 클릭합니다.
메인 창의 아무 곳이나 마우스 오른쪽 버튼으로 클릭(또는 컨트롤 클릭)하여 상황에 맞는 메뉴를 불러오고 다음을 선택합니다. Create new {Class name}
두 옵션 모두 객체의 속성을 설정할 수 있는 대화 상자가 열립니다. 필수 속성을 지정했으면 Create 버튼을 누릅니다.
연결 속성을 통해 상위 객체와 연결되지 않은 고아 객체를 만드는 경우 연결된 객체에 해당 객체를 수동으로 추가해야 합니다. 참조: 객체 수정.
객체 수정
Realm Studio에서 Realm 객체를 수정할 수 있는 방법에는 몇 가지가 있습니다.
필드 값 변경
객체 관계 변경
필드 값 변경
객체의 필드 값을 수동으로 변경할 수 있습니다.
객체의 필드를 클릭합니다.
다른 값 입력
Realm Studio는 허용되는 부울 옵션 목록( Use "true", "false", "0", or "1")을 제공하거나 날짜를 유효한 날짜/시간으로 자동 변환하는 등 간단한 유형 유효성 검사를 제공합니다. 그러나 이 유효성 검사는 예기치 않은 동작을 초래할 수 있습니다. 예를 들어 int
필드에 '123abc'를 입력하면 사용자 피드백이나 오류를 제공하지 않고 숫자가 아닌 문자가 삭제됩니다. 따라서 필드 값에 입력하는 데이터가 올바른 유형인지 확인하는 것은 사용자의 몫입니다.
객체의 관계 변경
Realm Studio를 사용하여 객체와 다른 객체와의 관계를 변경할 수 있습니다.
새 객체 관계를 추가하려면 다음을 수행합니다.
관계를 정의하는 속성을 클릭합니다.
기본 창 아무 곳이나 마우스 오른쪽 버튼으로 클릭(또는 Control-클릭)하고 다음을 선택합니다. Add existing {linked class name}
연결하려는 객체를 선택하고 Select 버튼을 누릅니다.
중요
객체 관계를 추가해도 기존 객체 관계는 제거되지 않습니다. 객체 관계를 변경하려는 경우, 예를 들어 한 범주에서 다른 범주로 작업을 이동할 수 있습니다. 작업을 이전 범주에 연결한 관계도 제거해야 합니다.
객체 관계를 제거하려면 다음을 수행합니다.
관계를 정의하는 속성을 클릭합니다.
관계를 제거하려는 객체를 마우스 오른쪽 버튼으로 클릭(또는 Control-클릭)하고 관계 유형에 따라 Remove selected row from the list 또는 Delete selected object 를 선택합니다.
작업을 확인하라는 대화 상자가 표시됩니다. 버튼을 눌러 객체 제거 또는 삭제를 확인합니다.
객체 삭제
영역에서 객체를 삭제하려면 다음을 수행합니다.
삭제하려는 객체를 마우스 오른쪽 버튼으로 클릭(또는 Control-클릭)하고 Delete selected object 을(를) 선택합니다.
작업을 확인하라는 대화 상자가 표시됩니다. Delete selected object 버튼을 눌러 확인합니다.
팁
Delete selected object 옵션이 표시되지 않는 경우 연결 관계 목록 보기에서 옵션이 표시되고 있을 수 있습니다. 객체가 저장된 클래스로 직접 이동합니다.
객체가 저장된 클래스에 있는데도 Delete selected objects 옵션이 표시되지 않는 경우 다른 객체를 선택했기 때문일 수 있습니다. 삭제하려는 객체를 클릭하여 선택한 다음 마우스 오른쪽 버튼을 클릭(또는 Control-클릭)하여 삭제 옵션을 표시합니다.
데이터 저장
Realm 객체는 라이브 객체이므로 Realm 파일을 변경하고 클라이언트 앱에 실시간으로 반영된 것을 확인할 수 있습니다. Realm Studio는 데이터로 다른 작업을 수행하려는 경우 몇 가지 저장 옵션을 제공합니다. 파일을 저장하려면 다음 단계를 따르세요.
File > Save data 로 이동하여 JSON 또는 Local Realm 을 선택합니다.
파일을 저장할 파일 이름과 대상을 선택합니다.
Save 버튼을 누릅니다.
JSON 파일 사용
데이터를 JSON으로 저장한 경우 앱으로 다시 가져올 수 있습니다. 선호하는 방법을 사용하여 JSON을 앱으로 가져옵니다.
중요
'플랫화된' 파일
Realm Studio는 JSON 파일로 내보낼 때 평면형 패키지. 다른 애플리케이션에서 파일을 열려면 Flatted.parse()
을(를) 사용해야 합니다.
Realm 파일 사용
데이터를 영역 파일로 저장 하고 스키마를 수정 하지 않은 경우 해당 영역 파일을 클라이언트 앱의 기존 영역 파일을 직접 대체하는 것으로 사용할 수 있습니다. 파일 시스템의 기존 Realm 파일을 새 Realm 파일로 교체하기만 하면 됩니다.
또는 Realm의 복사본을 저장하고 복사본을 연 다음 복사본에 대한 스키마를 변경할 수 있습니다. 이렇게 하면 원본 Realm 파일을 손상시키지 않으면서 스키마를 반복할 수 있습니다. 그러면 마이그레이션을 수행하지 않고도 클라이언트 앱에서 기존 Realm 파일을 계속 사용할 수 있습니다. 여유 시간에 두 번째 Realm 파일을 사용하여 새 스키마에 대한 마이그레이션을 테스트할 수 있습니다.