Sí, field_delete_instance () es la función para eliminar instancias de campo.
Tenga en cuenta que field_delete_instance()
llama automáticamente field_delete_field()
si no quedan instancias restantes, por field_delete_instance()
lo que probablemente sea todo lo que necesitará.
_update_7000_field_delete_instance()
está diseñado para funciones de actualización principales. Ejemplo: en la función de actualización x_update_7000()
, está utilizando field_delete_instance()
. Luego x_update_7001()
, en , cambia la {field_config}
tabla de una manera inconsistente y field_delete_instance()
obviamente también debe cambiarse.
Pero ahora x_update_7000()
la llamada a field_delete_instance()
resultaría en un error porque la tabla todavía está en la estructura anterior. Sin embargo, la situación para los módulos contribuidos es diferente, ya que siempre deben ejecutarse después de todas las actualizaciones principales y, por lo tanto, deben funcionar con la versión principal más reciente.
Pero, este es un patrón que es posible que desee utilizar para sus propias funciones API que está utilizando en las funciones de actualización.
Además, estas funciones _update no ejecutan enlaces porque el resultado no es predecible (por ejemplo, porque el módulo para el que se ejecuta la actualización podría estar deshabilitado).