gloo/runner

Low-level migration runner. runner.run applies or rolls back a list of migrations, skipping versions already recorded in schema_migrations. Each migration runs in its own transaction. Normally you call migrate.main_with_migrations instead of using this directly.

Types

pub type Direction {
  Up
  Down
}

Constructors

  • Up
  • Down
pub type RunnerError {
  DbError(String)
  MigrationFailed(version: Int, name: String, reason: String)
}

Constructors

  • DbError(String)
  • MigrationFailed(version: Int, name: String, reason: String)

Values

pub fn applied_versions(
  r: repo.Repo,
) -> Result(List(Int), RunnerError)

V9: return list of applied migration versions in ascending order.

pub fn run(
  r: repo.Repo,
  migrations: List(migration.Migration),
  direction: Direction,
  step: option.Option(Int),
) -> Result(Int, RunnerError)

Run pending migrations in the given direction. V8: each migration runs in its own transaction. V9: schema_migrations tracks applied versions; already-applied are skipped.

Search Document