Таблицы taxonomy_term__paren

Аватар пользователя Stepanisk Stepanisk 13 сентября 2018 в 14:40

Добрый день. Как я понял в drupal 8.6.1 произошло изменение в названии таблиц.

taxonomy_term_hierarchy поменяли на taxonomy_term__paren

Я обновил сайт с 8.5.7 до 8.6.1 и у меня это не произошло. И теперь не работает просмотр терминов таксономии. Поэтому в отчёте я вижу ошибку "Тип сущности Taxonomy term должен быть обновлён"

А в журнале пишут что

Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[42S02]: Base table or view not found: 1146 Table '**********.taxonomy_term__parent' doesn't exist: SELECT t.*, parent_target_id AS parent FROM {taxonomy_term_field_data} t INNER JOIN {taxonomy_term__parent} p ON t.tid = p.entity_id WHERE (t.vid = :db_condition_placeholder_0) AND (t.default_langcode = :db_condition_placeholder_1) ORDER BY t.weight ASC, t.name ASC; Array ( [:db_condition_placeholder_0] => partners [:db_condition_placeholder_1] => 1 ) in Drupal\taxonomy\TermStorage->loadTree() (line 224 of /home/p1292/public_html/core/modules/taxonomy/src/TermStorage.php).

Как мне это исправить?
Я побывал просто переименовать таблицу. Но тогда я видел эту ошибку

Drupal\Core\Database\DatabaseExceptionWrapper: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'parent_target_id' in 'field list': SELECT t.*, parent_target_id AS parent FROM {taxonomy_term_field_data} t INNER JOIN {taxonomy_term__parent} p ON t.tid = p.entity_id WHERE (t.vid = :db_condition_placeholder_0) AND (t.default_langcode = :db_condition_placeholder_1) ORDER BY t.weight ASC, t.name ASC; Array ( [:db_condition_placeholder_0] => newsletter [:db_condition_placeholder_1] => 1 ) in Drupal\taxonomy\TermStorage->loadTree() (line 224 of /home/p1292/public_html/core/modules/taxonomy/src/TermStorage.php).

Подскажите как это исправить?

0 Thanks

Комментарии

Аватар пользователя Stepanisk Stepanisk 13 сентября 2018 в 16:12

а возможно drush пользоваться сразу на хостинге? или он только для локальных сайтов

Аватар пользователя gun_dose gun_dose 13 сентября 2018 в 16:29
1

Можно, если он установлен. Если нет, то идите в отчёт о состоянии, там в пункте про обновление базы данных будет ссылка на запуск обновления.

Аватар пользователя Stepanisk Stepanisk 13 сентября 2018 в 16:48

Обновление базы данных *****/update.php не даёт результата. Если команда драш делает тоже самое, то значит результата от неё не будет?

Аватар пользователя ivnish ivnish 13 сентября 2018 в 20:17

Указанная мной, ещё в первом коменте, команда должна решить проблему

Аватар пользователя Stepanisk Stepanisk 25 сентября 2018 в 15:28

Команда drush updb --entity-updates не решило проблему и создало две новые. Подскажите, пожалуйста, как я могу решить эту проблему?

Taxonomy term
Поле Published должно быть обновлено.
Поле Родители Термина должно быть обновлено.

Аватар пользователя OldWarrior OldWarrior 13 сентября 2018 в 15:29
1
Stepanisk wrote:

Как я понял в drupal 8.6.1 произошло изменение в названии таблиц. ... Подскажите как это исправить?

Таблицу не просто переименовали, а преобразовали в более развитую структуру по образцу entity_reference.
Т.е. эксперименты с "ручным переименованием" не помогут.

Аватар пользователя Stepanisk Stepanisk 25 сентября 2018 в 18:39

Откатился до версии 8.5.6 и попробовал сделать обновление через Composer до 8.6.1. Снова прилетели ошибки по Таксономии. Но на этот раз drush updb --entity-updates помог. Ну как помог, просто стер все предыдущие данные таксономии и оставил только заголовки, а самих терминов как не бывало)