Menu Docs

Página inicial do DocsDesenvolver aplicaçõesAtlas Device SDKs

Interface RealmMigration

Nesta página

  • io.realm
  • Resumo do método
  • Detalhes do método
  • Migrar

A classe RealmMigration é usada para executar a migração de um esquema Realm para outro. O esquema de um Realm é definido por todas as classes em um projeto que estendem io.realm.RealmObject ou implementam io.realm.RealmModel , portanto, qualquer alteração nessas classes exigirá uma migração.

Para oferecer suporte a migrações de qualquer schemaVersion anterior para o mais recente, o seguinte padrão é recomendado ao escrever uma migração:

public class CustomMigration implements RealmMigration {
@Override
public long migrate(DynamicRealm realm, long oldVersion, long newVersion) {
RealmSchema schema = realm.getSchema();
if (oldVersion == 0) {
// Migrate from v0 to v1
oldVersion++;
}
if (oldVersion == 1) {
// Migrate from v1 to v2
oldVersion++;
}
if (oldVersion < newVersion) {
throw new IllegalStateException(String.format(Locale.US, "Migration missing from v%d to v%d", oldVersion, newVersion));
}
}
}

Durante o desenvolvimento, quando as classes RealmObject podem mudar com frequência, é possível usar io.realm.Realm.deleteRealm(RealmConfiguration) . Isso excluirá o arquivo do reconhecimento de data center e eliminará a necessidade de migrações.

Dica

Veja também:

Modificador e tipo
Método e descrição
público vazio
Realm dynamicRealm ,
antiga versão longa ,
nova versão longa
)

Este método será chamado se uma migração for necessária.

Realm dynamicRealm ,
antiga versão longa ,
nova versão longa
)

Este método será chamado se uma migração for necessária. O método inteiro é envolto em uma transação de escrita, portanto é possível criar, atualizar ou excluir qualquer objeto existente sem envolvê-lo em sua própria transação.

Parâmetros

  • realm - o esquema Realm no qual realizar a migração.

  • oldVersion - a versão do esquema do Realm no início da migração.

  • newVersion - a versão do esquema do Realm após a execução da migração.

← Classe RealmMap