Drupal | Экспорт пользовательских полей - PullRequest
0 голосов
/ 12 апреля 2020

Я не могу решить свою проблему, несмотря на ответы, которые я смог найти во время моего исследования.

Я создал пользовательский объект "пробел".
Я добавил поля для этого объекта на экране "Управление полями" (UI).

Теперь я хочу применить эти изменения в производственной среде с GIT.

Я экспортировал конфигурацию объекта и его полей (* .yml файлы).

Я создал "hook_update_N" для импорта конфигурации:

/**
 * Create "space" Entity.
 */
function lw_space_update_8001()
{
    $update_manager = \Drupal::entityDefinitionUpdateManager();

    $active_storage = \Drupal::service('config.storage');
    $config_path = drupal_get_path('module', 'lw_space') . '/config/install';

    // Get config storage and config name
    $source = new FileStorage($config_path);    

    // Check if the table exists first.  If not, then create the "Space" entity.
    if(!db_table_exists('lw_space')) 
    {
        \Drupal::entityTypeManager()->clearCachedDefinitions();
        \Drupal::entityDefinitionUpdateManager()
            ->installEntityType(\Drupal::entityTypeManager()->getDefinition('lw_space'));
    }

    // Get config objects
    if (!empty($objects = $source->listAll())) 
    {
        foreach ($objects as $name) 
        {
            // Write config
            $active_storage->write($name, $source->read($name));
        }
    }    
}

После «git pull ...» я запускаю следующие команды на производственном сервере:

drush en devel_entity_updates

drush updb

drush entity-updates

drush pmu devel_entity_updates, devel

drush cr

Поля хорошо созданы в базе данных (новые таблицы), и они отображаются на « Экран управления полями.
Но когда я хочу удалить поле из экрана «Управление полями», отображается следующая ошибка:

SQLSTATE [42S02]: базовая таблица или представление не найдены : 1146 Таблица 'my_database.field_deleted_data_cghdb5247' не существует

Я не понимаю причину этой ошибки.
Я думаю, что мой метод экспорта конфигурации поля пользовательского объекта заключается в неправильно?

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...