Drupal 8.6 Commerce: в файле .install без module_uninstall () удалить таблицы из базы данных.Зачем? - PullRequest
0 голосов
/ 06 февраля 2019

При удалении модуля, зачем удалять все таблицы из базы данных без функции module_uninstall() в файле .install .

Кроме того, зачем создавать таблицы без функции module_install() .install код файла только:

function commerce_quickpay_schema() {
    $schema['webc_crypto_meta'] = [
        'description' => 'Custom Cryptography Meta',
        'fields' => [...],
        'primary key' => ['wcm_id'],
    ];
    $schema['webc_crypto_payment'] = [
        'description' => 'Custom Cryptography Payment',
        'fields' => [...],
        'primary key' => ['wcp_id'],
    ];
    return $schema;
}

Также, пожалуйста, СОЗДАЙТЕ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ условие в .install файле.

1 Ответ

0 голосов
/ 08 февраля 2019

Вот как это происходит: таблицы, определенные в hook_schema, будут создаваться или удаляться из базы данных при установке или удалении модуля, а ловушки hook_install () или hook_uninstall () должны использоваться, если вы хотите сделать что-то дополнительное.

Просто предполагается, что схема базы данных должна быть удалена при удалении модуля и возвращаться после установки, если вы об этом думаете, это имеет смысл.

https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Database%21database.api.php/function/hook_schema/8.7.x

"Таблицы, объявленные этим хуком, будут автоматически создаваться при установке модуля и удаляться при его удалении. Это происходит до вызова hook_install () и после вызова hook_uninstall () соответственно. "

...