microsoft / durabletask-mssql

Microsoft SQL storage provider for Durable Functions and the Durable Task Framework
MIT License
87 stars 32 forks source link

Database upgrade testing #124

Closed cgillum closed 1 year ago

cgillum commented 2 years ago

Now that the first stable release is out, we need to ensure that subsequent releases are sufficiently backwards compatible. To help ensure backwards compatibility across releases, we should add upgrade tests. An example of what this might look like:

This should give us a good sense about whether any given PR is sufficiently backwards compatible with earlier database versions.

As we release new versions, we can add new tests that do the same thing, but starting from different previously released versions. For example, a v4 release could include tests that validate upgrades from v1 to v4, v2 to v4, and v3 to v4.

Ideally, we have a new upgrade test for every minor release (minor releases typically contain new features). New tests shouldn't be necessary for patch releases.