migrate/cli/commands.go

82 lines
1.4 KiB
Go
Raw Normal View History

package main
import (
"github.com/mattes/migrate"
_ "github.com/mattes/migrate/database/stub" // TODO remove again
_ "github.com/mattes/migrate/source/file"
)
func gotoCmd(m *migrate.Migrate, v uint) {
if err := m.Migrate(v); err != nil {
2017-03-12 12:33:13 -07:00
if err != migrate.ErrNoChange {
log.fatalErr(err)
} else {
log.Println(err)
}
}
}
func upCmd(m *migrate.Migrate, limit int) {
if limit >= 0 {
if err := m.Steps(limit); err != nil {
2017-03-12 12:33:13 -07:00
if err != migrate.ErrNoChange {
log.fatalErr(err)
} else {
log.Println(err)
}
}
} else {
if err := m.Up(); err != nil {
2017-03-12 12:33:13 -07:00
if err != migrate.ErrNoChange {
log.fatalErr(err)
} else {
log.Println(err)
}
}
}
}
func downCmd(m *migrate.Migrate, limit int) {
if limit >= 0 {
if err := m.Steps(-limit); err != nil {
2017-03-12 12:33:13 -07:00
if err != migrate.ErrNoChange {
log.fatalErr(err)
} else {
log.Println(err)
}
}
} else {
if err := m.Down(); err != nil {
2017-03-12 12:33:13 -07:00
if err != migrate.ErrNoChange {
log.fatalErr(err)
} else {
log.Println(err)
}
}
}
}
func dropCmd(m *migrate.Migrate) {
if err := m.Drop(); err != nil {
log.fatalErr(err)
}
}
2017-02-19 16:06:11 -08:00
func forceCmd(m *migrate.Migrate, v int) {
2017-02-19 15:15:00 -08:00
if err := m.Force(v); err != nil {
log.fatalErr(err)
}
}
func versionCmd(m *migrate.Migrate) {
2017-02-19 15:15:00 -08:00
v, dirty, err := m.Version()
if err != nil {
log.fatalErr(err)
}
2017-02-19 15:15:00 -08:00
if dirty {
log.Printf("%v (dirty)\n", v)
} else {
log.Println(v)
}
}