Translating a menu link results in an error (Integrity constraint violation) in both: Drupal\Core\Entity\EntityStorageException and Drupal\Core\Database\IntegrityConstraintViolationException
Steps to reproduce:
1. Installed lightning v8.x-2.03 via Acquia Dev Desktop
2. Install Content Translation and Language modules
3. Add the Spanish language (admin/config/regional/language)
4. Go here: admin/config/regional/content-language
5. Under Custom Language Settings, check Custom Menu Link
6. Under Custom menu link, check Custom menu link and Menu link title
7. Add a new menu (/admin/structure/menu/add) and a few links
8. Click Translate for a menu link (/admin/structure/menu/manage/{menu name here}
9. Once Translate is clicked, the new path is: /admin/structure/menu/item/12/edit/translations
10. Click Add for the Spanish translation
11. Click save on the new Spanish translation of the menu item
2 errors show up in the log:
Location: http://mysitenamehere.dev.dd:8083/es/admin/structure/menu/item/12/edit/t...
Drupal\Core\Database\IntegrityConstraintViolationException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '12' for key 'PRIMARY': INSERT INTO {menu_link_content_data} (id, revision_id, bundle, langcode, title, description, menu_name, link__uri, link__title, link__options, external, rediscover, weight, expanded, enabled, parent, changed, default_langcode, workspace, _deleted, _rev, content_translation_source, content_translation_outdated, content_translation_uid, content_translation_status, content_translation_created) 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, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17, :db_insert_placeholder_18, :db_insert_placeholder_19, :db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22, :db_insert_placeholder_23, :db_insert_placeholder_24, :db_insert_placeholder_25), (:db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29, :db_insert_placeholder_30, :db_insert_placeholder_31, :db_insert_placeholder_32, :db_insert_placeholder_33, :db_insert_placeholder_34, :db_insert_placeholder_35, :db_insert_placeholder_36, :db_insert_placeholder_37, :db_insert_placeholder_38, :db_insert_placeholder_39, :db_insert_placeholder_40, :db_insert_placeholder_41, :db_insert_placeholder_42, :db_insert_placeholder_43, :db_insert_placeholder_44, :db_insert_placeholder_45, :db_insert_placeholder_46, :db_insert_placeholder_47, :db_insert_placeholder_48, :db_insert_placeholder_49, :db_insert_placeholder_50, :db_insert_placeholder_51); Array ( [:db_insert_placeholder_0] => 12 [:db_insert_placeholder_1] => 56 [:db_insert_placeholder_2] => menu_link_content [:db_insert_placeholder_3] => en [:db_insert_placeholder_4] => refunds [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => nav [:db_insert_placeholder_7] => internal:/refunds [:db_insert_placeholder_8] => [:db_insert_placeholder_9] => a:0:{} [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 1 [:db_insert_placeholder_12] => 0 [:db_insert_placeholder_13] => 0 [:db_insert_placeholder_14] => 1 [:db_insert_placeholder_15] => [:db_insert_placeholder_16] => 1489031705 [:db_insert_placeholder_17] => 1 [:db_insert_placeholder_18] => 1 [:db_insert_placeholder_19] => 0 [:db_insert_placeholder_20] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_21] => und [:db_insert_placeholder_22] => 0 [:db_insert_placeholder_23] => 11 [:db_insert_placeholder_24] => 1 [:db_insert_placeholder_25] => 1489031279 [:db_insert_placeholder_26] => 12 [:db_insert_placeholder_27] => 56 [:db_insert_placeholder_28] => menu_link_content [:db_insert_placeholder_29] => es [:db_insert_placeholder_30] => refundo [:db_insert_placeholder_31] => [:db_insert_placeholder_32] => nav [:db_insert_placeholder_33] => internal:/refunds [:db_insert_placeholder_34] => [:db_insert_placeholder_35] => a:0:{} [:db_insert_placeholder_36] => 0 [:db_insert_placeholder_37] => 1 [:db_insert_placeholder_38] => 0 [:db_insert_placeholder_39] => 0 [:db_insert_placeholder_40] => 1 [:db_insert_placeholder_41] => [:db_insert_placeholder_42] => 1489031705 [:db_insert_placeholder_43] => 0 [:db_insert_placeholder_44] => 1 [:db_insert_placeholder_45] => 0 [:db_insert_placeholder_46] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_47] => en [:db_insert_placeholder_48] => 0 [:db_insert_placeholder_49] => 11 [:db_insert_placeholder_50] => 1 [:db_insert_placeholder_51] => 1489031705 ) in Drupal\Core\Database\Connection->handleQueryException() (line 668 of /Users/myname/Sites/devdesktop/mysitenamehere-dev/docroot/core/lib/Drupal/Core/Database/Connection.php).
Location: http://mysitenamehere.dev.dd:8083/es/admin/structure/menu/item/12/edit/t...
Drupal\Core\Entity\EntityStorageException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '12' for key 'PRIMARY': INSERT INTO {menu_link_content_data} (id, revision_id, bundle, langcode, title, description, menu_name, link__uri, link__title, link__options, external, rediscover, weight, expanded, enabled, parent, changed, default_langcode, workspace, _deleted, _rev, content_translation_source, content_translation_outdated, content_translation_uid, content_translation_status, content_translation_created) 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, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15, :db_insert_placeholder_16, :db_insert_placeholder_17, :db_insert_placeholder_18, :db_insert_placeholder_19, :db_insert_placeholder_20, :db_insert_placeholder_21, :db_insert_placeholder_22, :db_insert_placeholder_23, :db_insert_placeholder_24, :db_insert_placeholder_25), (:db_insert_placeholder_26, :db_insert_placeholder_27, :db_insert_placeholder_28, :db_insert_placeholder_29, :db_insert_placeholder_30, :db_insert_placeholder_31, :db_insert_placeholder_32, :db_insert_placeholder_33, :db_insert_placeholder_34, :db_insert_placeholder_35, :db_insert_placeholder_36, :db_insert_placeholder_37, :db_insert_placeholder_38, :db_insert_placeholder_39, :db_insert_placeholder_40, :db_insert_placeholder_41, :db_insert_placeholder_42, :db_insert_placeholder_43, :db_insert_placeholder_44, :db_insert_placeholder_45, :db_insert_placeholder_46, :db_insert_placeholder_47, :db_insert_placeholder_48, :db_insert_placeholder_49, :db_insert_placeholder_50, :db_insert_placeholder_51); Array ( [:db_insert_placeholder_0] => 12 [:db_insert_placeholder_1] => 56 [:db_insert_placeholder_2] => menu_link_content [:db_insert_placeholder_3] => en [:db_insert_placeholder_4] => refunds [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => nav [:db_insert_placeholder_7] => internal:/refunds [:db_insert_placeholder_8] => [:db_insert_placeholder_9] => a:0:{} [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => 1 [:db_insert_placeholder_12] => 0 [:db_insert_placeholder_13] => 0 [:db_insert_placeholder_14] => 1 [:db_insert_placeholder_15] => [:db_insert_placeholder_16] => 1489031705 [:db_insert_placeholder_17] => 1 [:db_insert_placeholder_18] => 1 [:db_insert_placeholder_19] => 0 [:db_insert_placeholder_20] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_21] => und [:db_insert_placeholder_22] => 0 [:db_insert_placeholder_23] => 11 [:db_insert_placeholder_24] => 1 [:db_insert_placeholder_25] => 1489031279 [:db_insert_placeholder_26] => 12 [:db_insert_placeholder_27] => 56 [:db_insert_placeholder_28] => menu_link_content [:db_insert_placeholder_29] => es [:db_insert_placeholder_30] => refundo [:db_insert_placeholder_31] => [:db_insert_placeholder_32] => nav [:db_insert_placeholder_33] => internal:/refunds [:db_insert_placeholder_34] => [:db_insert_placeholder_35] => a:0:{} [:db_insert_placeholder_36] => 0 [:db_insert_placeholder_37] => 1 [:db_insert_placeholder_38] => 0 [:db_insert_placeholder_39] => 0 [:db_insert_placeholder_40] => 1 [:db_insert_placeholder_41] => [:db_insert_placeholder_42] => 1489031705 [:db_insert_placeholder_43] => 0 [:db_insert_placeholder_44] => 1 [:db_insert_placeholder_45] => 0 [:db_insert_placeholder_46] => 2-b512ccf75245bbe28b0a649bd0b6f236 [:db_insert_placeholder_47] => en [:db_insert_placeholder_48] => 0 [:db_insert_placeholder_49] => 11 [:db_insert_placeholder_50] => 1 [:db_insert_placeholder_51] => 1489031705 ) in Drupal\multiversion\Entity\Storage\Sql\ContentEntityStorage->save() (line 152 of /Users/myname/Sites/devdesktop/mysitenamehere-dev/docroot/profiles/lightning/modules/contrib/multiversion/src/Entity/Storage/ContentEntityStorageTrait.php).
Comments
Comment #3
pameeela CreditAttribution: pameeela commentedI'm not able to reproduce this one, unsurprising though because if this were still occurring we'd expect to be hearing about it a lot! Likely was fixed in the meantime.