Migrations com Realm

ByLearner no último post ensinei como configurar o Realm na sua aplicação Android, nesse vou te mostrar como modificar “as tabelas” do banco quando o objeto for alterado.

A primeira coisa que temos que fazer é criar uma classe de Migracao que implementa RealmMigration.

public class Migracao implements RealmMigration {
    
    @Override
    public void migrate(DynamicRealm realm, long oldVersion, long newVersion) {
        RealmSchema schema = realm.getSchema();

        if (oldVersion == 0) {
            RealmObjectSchema groupSchema = schema.get("MyObject");
            groupSchema.addField("entregue", Boolean.class, FieldAttribute.REQUIRED);

            oldVersion++;
        }
    }
}

Com a classe criada basta acionarmos a migração no método de inicialização do Realm e subir uma versão do banco.

private fun initRealm() {
        try {
            Realm.init(this)
            val realmConfiguration = RealmConfiguration.Builder()
                .name("[NOME_DO_BANCO_DE_DADOS].realm")
                .schemaVersion(1)
                .migration(Migration())
                .build()
            Realm.setDefaultConfiguration(realmConfiguration)
        } catch (e: Exception) {
            e.printStackTrace()
        }
    }

Deixe uma resposta