Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
I'm trying to have a migration that does the following:
- Add new nodes
- Update existing nodes
- Leave unmapped fields that were filled in on the Drupal side untouched
According to [#1117454], I should use Migration::DESTINATION as the system of record to achieve #3. However, I've found out that using the --update flag does all of the above already.
In other issues you've mentioned that this behavior is not intended for the --update flag and that you should indeed use the system of record. Yet here I am using --update and getting exactly what I want. Same goes for my migrated taxonomy terms.
So my questions are:
- Is the above intended behavior? If not, I risk my migrations breaking all of the sudden when this is "fixed".
- If it is: what is the difference between --update and Migration::DESTINATION as a system of record?
Comments
Comment #2
kristiaanvandeneyndeSee #1840778-1: Updating migrated entities with a new revision and unmigrated fields causes possible data loss (and other issues) for where you mentioned --update should delete all Drupal-side data. Which is weird somehow, because compared to a rollback scenario the only difference with using --update is the fact that the Drupal-side ids are kept?
The main problem I'm facing is that I can't seem to find any solid documentation on the --update flag.
Comment #3
kristiaanvandeneyndeComment #4
mikeryanAny time a migration which does not have system-of-record set to DESTINATION updates a previously-imported item (whether it's via --update, an item updated via highwater marks or track_changes, --idlist, ...), the destination item is rebuilt from scratch and saved with the original destination ID - if any field changed on the destination side gets preserved, that would be a bug.
Do you have any more information on what it is that's getting preserved? What kind of fields, how they were altered, etc?