Sim, field_delete_instance () é a função para excluir instâncias de campo.
Observe que field_delete_instance()
chama automaticamente field_delete_field()
se não houver instâncias remanescentes; portanto, field_delete_instance()
é provavelmente tudo o que você precisará.
_update_7000_field_delete_instance()
foi projetado para as principais funções de atualização. Exemplo: na função de atualização x_update_7000()
, você está usando field_delete_instance()
. Então x_update_7001()
, você muda a {field_config}
tabela de uma maneira inconsistente e field_delete_instance()
obviamente também precisa ser alterada.
Mas x_update_7000()
a chamada de agora field_delete_instance()
resultaria em um erro porque a tabela ainda está na estrutura antiga. No entanto, a situação dos módulos contribuídos é diferente, pois eles sempre devem ser executados após todas as atualizações principais e, portanto, precisam trabalhar com a versão principal mais recente.
Mas, esse é um padrão que você pode querer usar para suas próprias funções de API que você está usando nas funções de atualização.
Além disso, essas funções _update não executam ganchos porque o resultado não é previsível (por exemplo, porque o módulo para o qual a atualização é executada pode estar desativado).