Migrating legacy MySQL database to SQL Azure with model mismatch

We have home grown web ERP system which is operating since 2004. It is built upon the LAMP stack. The ERP started for internal use but after many years of usage and polishing we decided to offer it for free to several other companies outside our organization. It was a success. We decided to rebuild it from the ground up as a SaaS product on .NET/IIS/MVC/SqlAzure/Blobs/Tables/ServiceBus/etc – MS stack. In the new version we have corrected all the design flaws we knew of, made it modular, implemented all the desired features, etc. One of the problems we have to solve is to migrate all the companies from the old system to the new one which means all the data – operational data, users with passwords etc. One of the problems that appear is with the data mismatch – the new core domain entity hierarchy is changed a bit and the other entities are changed too. To say it another way – domain model/entities impedance mismatch. Transfer of files is another story left for another post.

Continue reading “Migrating legacy MySQL database to SQL Azure with model mismatch”