Community
Participate
Working Groups
The migration mechanism is triggered if at least one MigrationParticipant provides a migration for a newer version than the one loaded. Each MigrationParticipant have to check whether it needs to perform its action according to the loading version. This check is necessary if a MigrationParticipant has been backported in a branch. For instance, a migrationParticipant introduced in Sirius 4.1 but also backported in Sirius 4.0.2, needs to check whether the loaded version is older than 4.0.2. If the loading version is 4.0.3 for instance, there is no need to perform the migration again. Most of the time, a migrationParticipant is introduced in only one version but the developer has to think about checking the loaded version. This check could be the default behavior. If the migrationParticipant is backported, an API should allow the developer to handle this case.
Moving to next version. This only impacts the Sirius developers (the only ones who write actual migrations), and it's too risky to touch to the migration mechanism as we are approaching 6.1.