This article will take you through an example of how to copy lists with circular lookups.
For the example, assume you have List A and List B with a circular lookup between them, where List A points to List B, and List B points back to List A.
Part 1
- In your source List A, set the lookup columns to Not required in the column settings.
- In the ShareGate migration tool, select the Copy structure and content option from the Copy menu. Then connect to your source and destination sites.
- In the navigation pane on the left, click on List and libraries and select List A.
- Click Options on the top-right.
- Under Configurations, un-check List content. Save and close the options.
- Click Start copy.
When the migration is complete, you should have an empty list at your destination.
Part 2
- Return to the Copy menu in the ShareGate app.
- Select Copy content only. Connect to the original List A as the source, and the newly created List A as the destination.
- Click Mappings on the top-right.
- Select the Properties tab.
- Under Source, hover your mouse over the column that contains the lookup column and click the (X) that appears.
- Click Save. This will allow the app to skip the column since it is not required.
- Select all items in the left pane.
- Click Start copy.
When the migration is complete, you should have the list at the destination, and only the data from the lookup columns will be missing.
Part 3
- Migrate List B using the Copy structure and content option in the Copy menu.
- Select Copy content only, and connect to List A as the source and destination. Copy the property values you removed in step (5) of Part 2 back into List A, and close this window.
- Once that's done, migrate List A again using the Copy structure and content option in the Copy menu.
You should now have a list at the destination with all the required column information for the lookup to get populated.