- We created a .NET console application (our “MigrationHelper”) to read the source list, grab each field we cared about (including all metadata) and write the data to a temporary list on the same server. This temporary list could be created/re-created over and over with no ill effects. It contained all of the data that we needed, but not the associated workflow.
- We used the Migration Manager to migrate the temporary items to the destination list. Since the list definitions were different, we simply mapped fields from the source to the destination using the built-in mapping functionality of the Migration Manager tool.
- We created an incremental job to migrate changed data in the temporary source list to the destination list. We had a large number of items in the list and wanted our “go-live” night to require the least amount of data transfer possible. (I’ll write a future blog entry on how and why you should do this)
The end result was a process that required a small amount of code on our part (reading the source list, deleting/creating the temporary list, copying data to the temporary list) and left the bulk of the migration to the Migration Manager. Focusing on the limitations of the tool allowed us to work quickly and efficiently. Yes, we had to write some custom code, but we didn’t have to reinvent the wheel and write code that Metalogix had already written (see my previous blog entry on using the right tool for the job:http://www.timlinenterprises.com/consultingknowhow/Lists/Posts/Post.aspx?ID=5).Have you ever run into a similar problem? What did you do to solve it?