Search code examples
androidrealm

Realm not auto-deleting database if migration needed


We are in development and db schema changes occur often. Since we are not live, migrations are not needed. I therefor configured Realm as follows:

RealmConfiguration config = new RealmConfiguration.Builder(context)
                .name("jt.realm")
                .schemaVersion(1)
                .deleteRealmIfMigrationNeeded() // todo remove for production
                .build();
        Realm.setDefaultConfiguration(config);

However, when the schema is changed, an exception is thrown: RealmMigration must be provided

My understanding from the docs are that the Realm should auto-delete the db since deleteRealmIfMigrationNeeded() is present in the config, but this does not seem to be happening. Why is this occurring?

Android Studio Dependency

compile 'io.realm:realm-android:0.86.1'


Solution

  • We had a similar issue. We solved this by adding

    Realm.getInstance(config)
    

    right after

    Realm.setDefaultConfiguration(config);
    

    We think the configuration will be set up after Realm is called the first time. This time we don't use any Realm object so there's no exception.