Problem/Motivation
If you run drush migrate-import d6_book --update
it'll work just fine. But if you run it again, it'll fail with the below error for each item:
Drupal\Core\Database\IntegrityConstraintViolationException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry [error]
'13066' for key 'PRIMARY': INSERT INTO {book} (nid, bid, pid, weight, depth, p1, p2, p3, p4, p5, p6, p7, p8, p9) 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); Array
(
[:db_insert_placeholder_0] => 13066
[:db_insert_placeholder_1] => 8
[:db_insert_placeholder_2] => 17446
[:db_insert_placeholder_3] => -1
[:db_insert_placeholder_4] => 5
[:db_insert_placeholder_5] => 8
[:db_insert_placeholder_6] => 19591
[:db_insert_placeholder_7] => 19601
[:db_insert_placeholder_8] => 17446
[:db_insert_placeholder_9] => 13066
[:db_insert_placeholder_10] => 0
[:db_insert_placeholder_11] => 0
[:db_insert_placeholder_12] => 0
[:db_insert_placeholder_13] => 0
)
It's because d6_book
doesn't properly handle the --update
parameter with the migrate-import
Drush command.
Proposed resolution
Passing --update
shouldn't make d6_book
a special snowflake causing an integrity constraint violation error.
Remaining tasks
Write the patch.
User interface changes
None.
API changes
None.
Data model changes
None.