This article will take you through an example of copying lists with circular lookups.
For example, assume you have a list A and a list B with lookup columns that circle between them, where list A's lookup column points to list B, and list B's lookup column points back to list A.
You can solve this migration problem with the following steps:
Part 1 - Copy list A without its content
- Delete the lists in your destination if they were previously migrated.
- Open your source list A in SharePoint.
- Go to the list settings.
- In the Columns section, click on the lookup column name that refers to list B.
- Ensure that Require that this column contains information is set to No.
- Open ShareGate Migrate.
- Select Copy from the main sidebar.
- Select Copy structure and content.
- Connect to your source and destination sites.
- Click the Lists and libraries icon in the sidebar.
- Select list A in the source pane.
- Click Options at the top.
- In the Configurations section, uncheck List content.
- Click the Save and close checkmark icon at the top.
- Click Start copy and wait for the migration to finish.
Part 2 - Copy list A's content without the lookup values
- In ShareGate Migrate, select Copy from the main sidebar.
- Select Copy content only.
- Connect to your source site.
- Find and select list A.
- Click Next.
- Connect to your destination site.
- Find and select the list A you just created in part 1.
- Click Next.
- Select all your items in the source pane.
- Click Mappings at the top.
- Select the Properties tab.
- In the mappings pane at the right, under Source, find the lookup column that refers to list B.
- Hover your mouse over the lookup column that refers to list B, and click on the X that appears. This will cause ShareGate Migrate to ignore the value in the lookup column and allow the migration of your items since your column not not require a value.
- Click Save.
- Click Start copy and wait for the migration to finish.
Note: Since List A contains a lookup column that refers to List B, the latter will get copied along as a dependency even if no list items are copied.
Part 3 - Copy list B
- In ShareGate Migrate, select Copy from the main sidebar.
- Select Copy structure and content.
- Connect to your source and destination sites.
- Click the Lists and libraries icon in the sidebar.
- Select list B in the source pane.
- Click Start copy and wait for the migration to finish.
Part 4 - Recopy list A's list items with the lookup values
- In ShareGate Migrate, select Copy from the main sidebar.
- Select Copy content only.
- Connect to your source site.
- Find and select list A.
- Click Next.
- Connect to your destination site.
- Find and select list A.
- Click Next.
- Select all your items in the source pane.
- Click Mappings at the top.
- Select the Properties tab.
- In the Source properties pane at the left, find the lookup column for list B.
- Drag and drop the lookup column to map it to its matching destination column in the Mappings pane at the right.
- Click Save.
- Click Start copy and your list A items will get remigrated with their proper lookup values pointing to list B at the destination.