Upgrading aDB in 2.5 a DB in 4.1

We've read that the upgrade process to version 4 of Mendix can take long. This is preventing us from upgrading a system, as the total time window for an upgrade is 12 hours. Unfortunately, our system is in production everyday and the mock upgrade takes at least 17 hours (and then falls over). So we've got some Talend talent in our team and thought we could transfer the data post upgrade since it seems that the DDL commands issued are only data conversions etc. So my question is, if I truncate a table, run the upgrade, immediately stop the system, use a Talend job to copy over the rows to the new system, what will be the impact to the system with regards to Autonumbers(sequences etc)? Or is there another phased approach to large system upgrades that we are not aware of?
2 answers

Is there no way to increase memory or speed in the (postgres?) settings so the process gets sped up? The default settings for postgres are very low. Maybe have a look at http://wiki.postgresql.org/wiki/Performance_Optimization

I wouldn't recommend handling this yourself, the migration takes multiple steps and also potentially handles moving file documents which reside on the server. Updating the ids will probably take most of the time but there are lots and lots of things that have changed since version 2.5, you can check the other 'moving from' page at https://world.mendix.com/display/refguide3/Moving+from+2.5+to+3.0

Update for Frankie:

Frankie, the problem is not as present nowadays because it is now possible to perform the DDL commands manually (since Mendix 4.5), you can read about this at https://world.mendix.com/display/refguide4/Moving+from+3+to+4, note the section "Issues with migration to versions before Mendix 4.5". This means the migration can be a little easier because there is no need to perform it all inside a transaction, but as always make sure you back up the data of course.

That said, the update process can still take a lot of time. You could shave some time off by first upgrading to the latest Mendix 3 version.


Just a thought: Create an interface (webservice) to send data updates from 2.5 to 4.x.

  1. Update 2.5 environment to send changes to 4.x
  2. Create a new environment (server) and migrate the 2.5 to 4.x
  3. When the update is done start send changes/delta to the new 4.x
  4. When all data is synced switch to 4.x environment