Solved

'Squashing' upgrade scripts assigned to specific branches

  • 9 May 2023
  • 1 reply
  • 34 views

Userlevel 1
Badge +4

Hello! I’m still not quite sure if this works the way i would expect this to work and how i can make sure it does. I’ve had several situations where a datamodel change in a branche has resulted in a manual upgrade script, which i assigned to a specific point in time for that model/branche, after enabling ‘use upgrade logic’ on the ‘model versions’-screen. This appears to be working fine for the creation of the branche. After merging the branche in the trunk and starting the creation process for the origin trunk, the manual upgrade script was not automatically assigned. I expected that the assignment was ‘squashed’ between point in times (between last upgrade time in database and current time) and the manual upgrade script was assigned in the trunk as well. The only was for this to work right now is to assign it as ‘always’, but this can be problematic as some manual upgrade scripts are designed to be executed just once, and they will be executed by a later upgrade as well.

So how exactly can i accomplish the scenario i described above? What exactly was the general idea of going through this process?

icon

Best answer by Mark Jongeling 9 May 2023, 12:37

View original

This topic has been closed for comments

1 reply

Userlevel 7
Badge +23

Hi Bram,

We have been aware of this and it has been resolved in version 2023.2. From the 2023.2, model versions that use upgrade logic are presented in every branch. That means you only will need one model version in DEVELOP or MAIN for example, and you can assign templates to that model version in your Feature branches.

How to work around it in 2023.1, you can create a model version with the same description as the model version in the Origin; effectively having the same name in the Origin as in the Branch. Thereafter, you can assign the Upgrade script to the correct model version. These static assignments will be merged too to your Origin. This should result in the assignment still being present - only need to make sure your source version is that exact model version of course 😉

Hope this helps!