Hello all,
I'm currently performing a data upgrade on AX2012 RTM CU3 using the data upgrade cockpit. When executed, the cockpit schedules scripts into batchjob/batchs and add constraints between them, depending on which tables being used by the scripts, etc..
What I've understood of the white paper on How to write Data upgrade scripts, is that there are several phases separated by "transition scripts". Transition scripts are managing the dependencies between script types and script modules.
A simplified typical flow would be:
1. Bulkcopy scripts
1.1. Transition script (depending on all the 1)
2. Start scripts (depending on 1.1)
2.1 Transition script (depending on all the 2)
3. Standard/ Shard scripts (depending on 2.1)
3.1. Transition script (depending on all 3)
4. Final scripts
....
I've encountered a problem on the Start scripts (line in bold above) where I can see on the batch job, start scripts not depending on anyone. So, when I launched the upgrade, some bulk scripts are starting to run and some (not all) start scripts are running too, without waiting for the end of the bulk !!
I've got on particular script on RelaseUpdateDB60_Administration::updateTableIndexes() (which synchronize non affected tables) that is in that case. In the batch form of AX, this batch doesn't have any batchconstraints and so, it is being executed first.
I'd like to know if someone has already experienced a similar issue of scripts not running in a appropriate time. It's also quite dangerous, because I cannot rely on the system to check if all constraints have been created.
Plus, it seems difficult to understand how it works because the cockpit is very complex
Thanks for you help !
Nicolas