Realmを削除する - Kotlin SDK
Overview
クライアント リセット シナリオなど、状況によっては、Realm ファイルとその付属ファイルを削除する必要がある場合があります。 これは、開発中に環境をすばやくリセットするのに役立つことが多い。 ただし、アプリを実行中に Realm インスタンスがまだ開いているときに実行すると、データが破損したり、 Atlas Device Sync が中断されたりする可能性があります。
データが失われたり、Device Sync が中断されたりするのを避けるために、Realm のすべてのインスタンスが閉じられた後にこれらのファイルを削除できます。 Realm ファイルを削除する前に、重要なオブジェクトをバックアップしてください。Realm 内の同期されていないデータはすべて失われます。
アプリの実行中に Realm ファイルを安全に削除するには、 Realm.deleteRealm() メソッドを 使用して複数のドキュメントを挿入できます。 次のコードは、これを示しています。
// You must close a realm before deleting it realm.close() // Delete the realm Realm.deleteRealm(config)
移行を回避するための Realm ファイルの削除
アプリを開発しながら迅速に反復処理する場合は、スキーマを変更するときにRealmファイルを移行する代わりにRealmファイルを削除することをお勧めします。 Realm の構成では、この場合に対応するためにdeleteRealmIfMigrationNetedパラメータが提供されています。
deleteRealmIfMigrationNeeded
を使用すると、移行が必要な場合、Realm によって Realm ファイルが削除されます。 その後は、開発データまたはテスト データ用の移行ブロックを書き込む代わりに、新しいスキーマに一致するオブジェクトを作成できます。
val config = RealmConfiguration.Builder( schema = setOf(Frog::class) ) .deleteRealmIfMigrationNeeded() .build() val realm = Realm.open(config) Log.v("Successfully opened realm: ${realm.configuration.name}")
重要
本番環境では deleteRealmIfMigrationneeded を使用しないでください
このフラグをtrue
に設定して本番環境にアプリをリリース しないでください 。