migration: Add runner package
There are no commits yet
Push commits to the source branch or add previously merged commits to review them.
Created by: efritz
This PR adds a internal/database/migration/runner
package that contains a the logic for running a set of migrations using the store introduced in #28599. Today, the runner mimmics the logic of golang-migrate:
Additionally, we ensure that we're not skipping versions ahead or behind by ensuring that the current version is the expected one for the target migration direction. I'm not sure golang-migrate does this, so it's only added security.
In the future, once we control concurrency better and can move away from golang-migrate semantics, we can change this flow openly.
Push commits to the source branch or add previously merged commits to review them.