18

ローカル環境でモジュールをプログラムで無効にしてからアンインストールし、そのコードをprodに簡単にプッシュして、すべてが更新されるようにしたいと考えています。

私はそれが何かであると推測していhook_update_Nます。しかし、どこから始めればよいかわからない。

4

4 に答える 4

46

私が答えを見つけたと思います!modules .installファイル内に、次のコードを追加しました。

/**
 * Disable and uninstall the module.
 */
function MODULE_update_7200() {
  if( module_exists('MODULE')) {
    module_disable(array('MODULE'));
    drupal_uninstall_modules(array('MODULE'));
  }
}

関数内の数値は、drupalインストールを反映している必要があります。ここでそれらに番号を付ける方法を参照してください:http://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_update_N/7

于 2012-12-04T17:49:04.207 に答える
8

Drupal8

Drupal 8 では、これは 1 つのステップにすぎません。

中に入れるMYMODULE.install

/**
 * Uninstall Field UI.
 */
function MYMODULE_update_8001(&$sandbox) {

  \Drupal::service('module_installer')->uninstall(['field_ui']);

}
于 2017-10-10T11:51:50.040 に答える