Excluir um domínio - Realm Kotlin SDK
Visão geral
Em algumas circunstâncias, como umcenário de reinício do cliente , talvez seja necessário excluir um arquivo de Realm e seus arquivos auxiliares. Isso geralmente é útil durante o desenvolvimento para redefinir rapidamente seu ambiente. No entanto, fazer isso quando você estiver executando seu aplicativo e as instâncias do Realm ainda estiverem abertas pode causar corrupção de dados ou interromper o Atlas Device Sync.
Para evitar a perda de dados e interromper o Realm Mobile Sync, você pode excluir esses arquivos quando todas as instâncias de um Realm estiverem fechadas. Antes de excluir um Arquivo de Realm, faça backup de todos os objeto importantes, pois você perderá todos os dados não sincronizados no Realm.
Para excluir com segurança um arquivo de Realm enquanto o aplicativo está em execução, você pode usar o Realm.deleteRealm() método. O seguinte código demonstra isso:
// You must close a realm before deleting it realm.close() // Delete the realm Realm.deleteRealm(config)
Excluir um arquivo do Realm para evitar migração
Se você iterar rapidamente à medida que desenvolve seu aplicativo, convém excluir um arquivo de território em vez de migrá-lo ao fazer alterações no esquema. A configuração do Realm fornece um parâmetro deleteRealmIfMigrationNeeded para ajudar com este caso.
Quando você usa deleteRealmIfMigrationNeeded
, o Realm exclui o Arquivo de Realm se uma migração for necessária. Em seguida, você pode criar objetos que correspondam ao novo esquema em vez de escrever blocos de migração para dados de desenvolvimento ou teste.
val config = RealmConfiguration.Builder( schema = setOf(Frog::class) ) .deleteRealmIfMigrationNeeded() .build() val realm = Realm.open(config) Log.v("Successfully opened realm: ${realm.configuration.name}")
Importante
Não use deleteRealm IfMigrationNeeded em produção
Nunca libere um aplicativo para produção com esta sinalização definida como true
.