Interface RealmMigration
Nesta página
io.realm
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 { 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.
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
public void | Este método será chamado se uma migração for necessária. |
Detalhes do método
Migrar
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
|