While waiting for a purchase order for Sharegate to be approved, I needed to quickly migrate content of an old SharePoint 2010 list to our new SharePoint 2013 farm. Out of the box this isn’t straight forward, and Microsoft recommend a complete backup, move and upgrade approach for the entire content database. Time-wise, this wasn’t an option and seemed overkill for a single list.
In the past I’ve experimented by writing a PowerShell script to export the list’s content to a .CSV file and it’s attachments into folders, and then another script to suck it back into the destination site.
It basically involves:
- Exporting the list from SharePoint 2010 via the Backup and Restore option within Central Administration.
- Changing the extension of the resulting files from .cmp to .cab, and extracting their contents.
- Amending the versions stated within the SystemData.xml file from 14.0.x.x to 15.0.x.x
- Repackaging them back into a .cab file via CapPack.
- Changing the extension from .cab back to .cmp
- Importing the list into SharePoint 2013 via PowerShell.
Import-SPWeb -Identity http://mysharepointsite -Path \\temp\SharePointList.cmp -IncludeUserSecurity -Verbose
It seems to have worked like a charm!