클래스 마이그레이션
이 클래스는 데이터베이스를 한 버전에서 다른 버전으로 마이그레이션할 때 제공됩니다. 여기에는 Old
네임스페이스: Realms
어셈블리: Realm.exe
구문
public class Migration
속성
| 이 페이지 편집 소스 보기NewRealm
수정하고 최신 상태인지 확인해야 하는 Realm 을 가져옵니다.
선언
public Realm NewRealm { get; }
속성 값
| 이 페이지 편집 소스 보기OldRealm
Realm 을 마이그레이션하기 전의 상태로 가져옵니다. 동적 API를 사용하여 액세스합니다.
선언
public Realm OldRealm { get; }
속성 값
방법
| 이 페이지 편집 소스 보기FindInNewRealm<T>(IRealmObject)
New
선언
public T? FindInNewRealm<T>(IRealmObject obj) where T : IRealmObject
매개변수
유형 | 이름 | 설명 |
---|---|---|
IRealm |
obj | 이전 영역 에서 얻은 객체 입니다. |
반환
유형 | 설명 |
---|---|
t | 마이그레이션 후 해당 객체 또는 객체가 새 영역에 더 이상 존재하지 않는 경우 |
유형 매개변수
이름 | 설명 |
---|---|
t | 새 영역 에 있는 객체 의 유형입니다. |
예시
foreach (var oldPerson in migration.OldRealm.DynamicApi.All("Person"))
{
var newPerson = migration.FindInNewRealm<Person>(oldPerson)
newPerson.Name = $"{oldPerson.DynamicApi.Get<string>("FirstName")} {oldPerson.DynamicApi.Get<string>("LastName")}";
}
|
이 페이지 편집
소스 보기
RemoveType(string)
마이그레이션 중에 유형을 제거합니다. 해당 유형과 관련된 모든 데이터 및 스키마가 Realm 에서 제거됩니다.
선언
public bool RemoveType(string typeName)
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | typeName | 제거해야 하는 유형입니다. |
반환
유형 | 설명 |
---|---|
부울 |
|
비고
제거된 유형은 마이그레이션 블록의 Old
RenameProperty(string, string, string)
마이그레이션 중에 속성 이름을 변경합니다.
선언
public void RenameProperty(string typeName, string oldPropertyName, string newPropertyName)
매개변수
유형 | 이름 | 설명 |
---|---|---|
문자열 | typeName | 속성 이름 변경을 수행해야 하는 유형입니다. |
문자열 | oldPropertyName | 속성의 이전 이름입니다. |
문자열 | newPropertyName | 속성의 새 이름입니다. |
예시
// Model in the old schema
class Dog : RealmObject
{
public string DogName { get; set; }
}
// Model in the new schema
class Dog : RealmObject
{
public string Name { get; set; }
}
//After the migration Dog.Name will contain the same values as Dog.DogName from the old realm, without the need to copy them explicitly
var config = new RealmConfiguration
{
SchemaVersion = 1,
MigrationCallback = (migration, oldSchemaVersion) =>
{
migration.RenameProperty("Dog", "DogName", "Name");
}
};