Simple migration capabilities for any Go backend
|
10 달 전 | |
---|---|---|
.github | 10 달 전 | |
.gitignore | 10 달 전 | |
LICENSE.md | 10 달 전 | |
README.md | 10 달 전 | |
error.go | 10 달 전 | |
func_migration.go | 10 달 전 | |
go.mod | 10 달 전 | |
interfaces.go | 10 달 전 | |
module.go | 10 달 전 | |
module_test.go | 10 달 전 |
This package provides simple migration capabilities for any backend.
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.
See LICENSE.md