Menu Docs

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

Excluir um domínio - Kotlin SDK

Nesta página

  • Visão geral
  • Excluir um arquivo do Realm para evitar migração

Em algumas circunstâncias, como um cenário de reinício do cliente, talvez seja necessário excluir um arquivo de domínio 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 domínio enquanto o aplicativo está em execução, você pode usar o método Realm.deleteRealm() . O seguinte código demonstra isso:

// You must close a realm before deleting it
realm.close()
// Delete the realm
Realm.deleteRealm(config)

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.

← Reduzir o tamanho do arquivo de domínio - Kotlin SDK