procrastinate icon indicating copy to clipboard operation
procrastinate copied to clipboard

[v3] Migrations backwards compatibility

Open ewjoachim opened this issue 1 year ago • 7 comments

According to our own doc, migrations named with version X are the migrations you can apply once you run on version X. According to our doc, people on v2.13 wishing to upgrade without disruption would:

  • Change the code to v3.0
  • Apply the v3.0 migrations
  • Change the code to v3.1
  • Apply the v3.1 migrations All the while their instance is running and processing jobs.

Compatibility matrix:

Code ➡️
⬇️ Schema
v2.13 v3.0 v3.1
v2.13
v3.0
v3.1

❌ means we don't have to make it compatible, but if it happens to be, it's not a problem, of course

We need to decide what we put in v3.0 and v3.1

Note: the change of status = aborting -> abort_requested might need a couple of trigger just for the time of the dual compatibility (adding the `abort_requested column and update its value based on the status, then add a trigger that synchronizes the 2 columns, and in the next release, delete the triggers and the column)

ewjoachim avatar Sep 08 '24 09:09 ewjoachim