Migração

@frozen
public struct Migration

Migration instâncias encapsulam informações destinadas a facilitar a migração de um esquema.

Uma instância Migration é passada para um bloco MigrationBlock definido pelo usuário ao atualizar a versão de um Realm. Essa instância fornece acesso ao reconhecimento de data center antigos e novos, aos objeto no Realm e fornece funcionalidade para modificar o Realm durante a migração.

Propriedades

Alterando objetos durante uma migração

  • Enumera todos os objetos de um determinado tipo neste Realm, fornecendo as versões antigas e novas de cada objeto. As propriedades de um objeto podem ser acessadas usando a assinatura.

    Declaração

    Swift

    public func enumerateObjects(ofType typeName: String, _ block: MigrationObjectEnumerateBlock)

    Parâmetros

    objectClassName

    O nome da classe Object para enumerar.

    block

    O bloco que fornece as versões antigas e novas de um objeto neste Realm.

  • Cria e retorna um Object do tipo className no Realm que está sendo migrado.

    O argumento value é utilizado para preencher o objeto. Pode ser um objeto compatível com codificação key-value, uma array ou dicionário retornado dos métodos em NSJSONSerialization ou um Array contendo um elemento para cada propriedade gerenciada. Uma exceção será lançada se alguma propriedade obrigatória não estiver presente e essas propriedades não tiverem sido definidas com valores padrão.

    Ao passar um Array como argumento value , todas as propriedades devem estar presentes, válidas e na mesma ordem que as propriedades definidas no modelo.

    Declaração

    Swift

    @discardableResult
    public func create(_ typeName: String, value: Any = [:]) -> MigrationObject

    Parâmetros

    className

    O nome da classe Object a ser criada.

    value

    O valor utilizado para preencher o objeto criado.

    Valor de retorno

    O objeto recém-criado.

  • Exclui um objeto de um Realm durante uma migração.

    É permitido chamar este método de dentro do bloco passado para enumerate(_:block:).

    Declaração

    Swift

    public func delete(_ object: MigrationObject)

    Parâmetros

    object

    Um objeto a ser excluído do Realm sendo migrado.

  • Exclui os dados da classe com o nome fornecido.

    Todos os objetos da classe fornecida serão excluídos. Se a subclasse Object não existir mais em seu programa, todos os metadados restantes da classe serão removidos do Arquivo de Realm.

    Declaração

    Swift

    @discardableResult
    public func deleteData(forType typeName: String) -> Bool

    Parâmetros

    objectClassName

    O nome da classe Object a ser excluída.

    Valor de retorno

    Um valor booleano indicando se há algum dado para excluir.

  • Renomeia uma propriedade da classe fornecida de oldName para newName.

    Declaração

    Swift

    public func renameProperty(onType typeName: String, from oldName: String, to newName: String)

    Parâmetros

    className

    O nome da classe cuja propriedade deve ser renomeada. Essa classe deve estar presente nos esquemas antigos e novos do Realm.

    oldName

    O nome antigo da propriedade a ser renomeada. Não deve haver uma propriedade com este nome na classe , conforme definido pelo novo esquema Realm .

    newName

    O novo nome da propriedade a ser renomeada. Não deve haver uma propriedade com este nome na classe , conforme definido pelo esquema Realm antigo.