由于taxonomy_post_update_make_taxonomy_term_revisionable而无法更新到Drupal 8.7.1

时间:2019-05-16 11:24:39

标签: drupal drupal-8 drush

运行composer update drupal/core webflo/drupal-core-require-dev --with-dependencies更新到v8.7.1,然后运行drush updb之后,更新在此处失败:

[notice] Update started: taxonomy_post_update_make_taxonomy_term_revisionable [4.77 sec, 33.46 MB]
[error]  Drupal\Core\Database\IntegrityConstraintViolationException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null: INSERT INTO {tmp_b3edd9taxonomy_term_field_data} (tid, revision_id, vid, langcode, name, description__value, description__format, weight, changed, default_langcode, status, revision_translation_affected) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11); 
Array
(
   [:db_insert_placeholder_0] => 1
   [:db_insert_placeholder_1] => 1
   [:db_insert_placeholder_2] => tags
   [:db_insert_placeholder_3] => zxx
   [:db_insert_placeholder_4] =>
   [:db_insert_placeholder_5] =>
   [:db_insert_placeholder_6] =>
   [:db_insert_placeholder_7] =>
   [:db_insert_placeholder_8] =>
   [:db_insert_placeholder_9] =>
   [:db_insert_placeholder_10] =>
   [:db_insert_placeholder_11] => 1
)
in Drupal\Core\Database\Connection->handleQueryException() (line 689 of /mnt/www/html/optivode42/docroot/core/lib/Drupal/Core/Database/Connection.php). [7.12 sec, 45.21 MB]
[error]  The entity update process failed while processing the entity type taxonomy_term, ID: 1. [8.17 sec, 45.24 MB]
[error]  Update failed: taxonomy_post_update_make_taxonomy_term_revisionable [8.17 sec, 38.9 MB]

其他解决方案建议在taxonomy_term_field_data字段中输入错误数据,但这似乎不是问题所在。

我检查了taxonomy_term_field_data,没有name为NULL的记录,甚至没有任何语言为zxx的记录,所以现在我有点茫然。好像没有什么可以像其他答案一样删除以解决此问题。

*编辑:我在taxonomy_term_data中确实有langcode zxx记录,因此我删除了这些记录,并且得到了相同的错误,但带有:

Array
(
   [:db_insert_placeholder_0] => 2
   [:db_insert_placeholder_1] => 2
   [:db_insert_placeholder_2] => tags
   [:db_insert_placeholder_3] => en
   [:db_insert_placeholder_4] =>
   [:db_insert_placeholder_5] =>
   [:db_insert_placeholder_6] =>
   [:db_insert_placeholder_7] =>
   [:db_insert_placeholder_8] =>
   [:db_insert_placeholder_9] =>
   [:db_insert_placeholder_10] =>
   [:db_insert_placeholder_11] => 1
)

1 个答案:

答案 0 :(得分:0)

我发现这与replicate-ui module中的错误相关,该错误实际上创建了分类法,而没有在taxonomy_index表中创建真实的父记录。

因此,我已经与开发人员打开了一个错误报告以解决此问题。

同时,我实际上已升级到Drupal v8.6.16,因为它具有我所需的安全更新,并且我还不需要一直升级到v8.7。