I am just testing some configurations with Realm and therefore I have added and deleted variables and lists from my realm classes. Since I am just testing I do not want to go through the migration process - I also don't have any data which is effected for continuity.
Is there any way to get around migration being requested automatically by Realm?
There are two ways to skip migration error regardless schema changes.
Use deleteRealmIfMigrationNeeded
property. If it is true
, recreate the Realm file with the provided schema if a migration is required.
let config = Realm.Configuration(deleteRealmIfMigrationNeeded: true)
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
...
Increment schema version every launch. Realm has auto migration feature. If you don't need to migrate existing data, you can just increment schema version. Schema will be changed by Realm automatically.
let config = Realm.Configuration(schemaVersion: try! schemaVersionAtURL(Realm.Configuration.defaultConfiguration.fileURL!) + 1)
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
...
In Swift 3
Migration in Realm can be easily avoid by placing this code inside "didFinishLaunchingWithOptions" method in AppDelegate class.
var config = Realm.Configuration()
config.deleteRealmIfMigrationNeeded = true
Realm.Configuration.defaultConfiguration = config
This will delete the realm database if migration is required with new setup.
Swift 4
var config = Realm.Configuration()
config.deleteRealmIfMigrationNeeded = true
Realm.Configuration.defaultConfiguration = config
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With