Pacote io.realm
Interface RealmMigration
-
public interface RealmMigration
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 estendemRealmObject
ou implementamRealmModel
, 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 o
Realm.deleteRealm(RealmConfiguration)
. Isso excluirá o arquivo do reconhecimento de data center e eliminará a necessidade de migrações.
-
-
Resumo do método
Todos os métodos Métodos de instância Métodos abstratos Modificador e tipo Método Descrição void
migrate(DynamicRealm realm, long oldVersion, long newVersion)
Este método será chamado se uma migração for necessária.
-
-
-
Detalhes do método
-
Migrar
Migrar(DynamicRealm Realm, antigoVersão longo, NovoVersão longo)
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.
-
-