Skip to content
This repository was archived by the owner on May 5, 2025. It is now read-only.
/ migres Public archive

Simple migration capabilities for any backend

License

Notifications You must be signed in to change notification settings

annybs/migres

Repository files navigation

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

About

Simple migration capabilities for any backend

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages