質問: 当方、RealmSwiftを使ってアプリを作っております。 この程、RealmSwiftが0.102になり、マイグレーション処理が変更になったそうですね? そこで質問です。 マイグレーションが必要な場合に、Realmファイルを削除する具体的な方法を教えていただきたいです。 `deleteRealmIfMigrationNeeded`のプロパティをどう使えば、開発途中の不要なRealmファイルを削除できますか?
回答: > > RealmSwiftが0.102になり、マイグレーション処理が変更になったそうですね? > > > マイグレーション処理の基本はまったく変わっていません。単に小さな改善が入っただけです。 Realmには日本語のドキュメントも用意されていますので、まずドキュメントに目を通されることをおすすめします。 バージョン0.102から追加された`deleteRealmIfMigrationNeeded`を`true`に設定することで、マイグレーションが必要でかつマイグレーションが行われない場合に、エラーを出す代わりに自動的に古いファイルを削除して新しいデータ定義を用いて作り直してくれるようになりました。 `deleteRealmIfMigrationNeeded`は`Realm.Configuration`のプロパティなので、使用するにはこの値を`true`にして`Configuration`オブジェクトを作成し、Realmインスタンスを作成する際に、この`Configuration`オブジェクトを渡します。 ``` let config = Realm.Configuration(deleteRealmIfMigrationNeeded: true) let realm = try! Realm(configuration: config) ``` Realmをインスタンス化している場所すべてで同様にする必要がありますが、`defaultConfiguration`として設定すると、それ以降は、いちいち`Configuration`オブジェクトを渡さなくても`defaultConfiguration`に設定したオブジェクトが使用されるようになり便利です。 ``` let config = Realm.Configuration(deleteRealmIfMigrationNeeded: true) Realm.Configuration.defaultConfiguration = config let realm = try! Realm() ```