1
0

Simple migration capabilities for any Go backend

Aneurin Barker Snook ef8ff4b25d add readme 11 сар өмнө
.gitignore 97bce22b38 initial working version 11 сар өмнө
LICENSE.md ef8ff4b25d add readme 11 сар өмнө
README.md ef8ff4b25d add readme 11 сар өмнө
error.go 97bce22b38 initial working version 11 сар өмнө
func_migration.go ef8ff4b25d add readme 11 сар өмнө
go.mod ef8ff4b25d add readme 11 сар өмнө
interfaces.go 97bce22b38 initial working version 11 сар өмнө
module.go 97bce22b38 initial working version 11 сар өмнө
module_test.go 97bce22b38 initial working version 11 сар өмнө

README.md

Migres

This package provides simple migration capabilities for any backend.

System requirements

Basic usage

The key type in this package is Module which allows mapping version strings to Migration interfaces. For example:

import "github.com/annybs/migres"

type MyBackend struct{}

func (mb *MyBackend) Module() migres.Module {
  return migres.Module{
    "1.0.0": migres.Func(mb.upgradeV1, mb.downgradeV1),
    "2.0.0": migres.Func(mb.upgradeV2, mb.downgradeV2),
  }
}

Call Module.Upgrade(from, to) or Module.Downgrade(from, to) in order to execute migrations. The module ensures migrations are all run in the correct order.

License

See LICENSE.md