RealmMigration インターフェース
Atlas Device SDK は非推奨です。 詳細については、 の廃止ページを参照してください。
io.realm
RealmMigration クラスは、ある Realm スキーマから別の Realm スキーマへの移行を実行するために使用されます。 Realm のスキーマは、 io.realm.RealmObjectを拡張するプロジェクト内のすべてのクラスによって定義されるため、これらのクラスに対する変更には移行が必要になります。
以前の schemaVersion から最新のものへの移行をサポートするには、移行を作成するときに次のパターンが推奨されます。
public class CustomMigration implements RealmMigration { public long migrate(DynamicRealm realm, long oldVersion, long newVersion) { RealmSchema schema = realm.getSchema(); if (oldVersion == 0) { // Migrate from v0 to v1 oldVersion++; } if (oldVersion == 1) { // Migrate from v1 to v2 oldVersion++; } if (oldVersion < newVersion) { throw new IllegalStateException(String.format(Locale.US, "Migration missing from v%d to v%d", oldVersion, newVersion)); } } }
開発中に RealmObject クラスが頻繁に変更される場合は、 io.realm.Realm.deleteRealm(RealmConfiguration)を使用できます。 これにより、データベース ファイルが削除され、移行が不要になります。
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
public void | このメソッドは、移行が必要な場合に呼び出されます。 |
メソッドの詳細
移行する
このメソッドは、移行が必要な場合に呼び出されます。 メソッド全体は書き込みトランザクションにラップされているため、自分のトランザクションでラップすることなく、既存のオブジェクトを作成、更新、または削除することができます。 パラメーター
|