migrate

package
v0.20.31 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoFwMigration = errors.Errorf("no sql in forward migration step")

Functions

func FindMigrations

func FindMigrations(path string) ([]string, error)

func FindMigrationsEx

func FindMigrationsEx(path string, fs MigratorFS) ([]string, error)

Types

type BadVersionError

type BadVersionError string

func (BadVersionError) Error

func (e BadVersionError) Error() string

type IrreversibleMigrationError

type IrreversibleMigrationError struct {
	// contains filtered or unexported fields
}

func (IrreversibleMigrationError) Error

type Migration

type Migration struct {
	Sequence int32
	Name     string
	UpSQL    string
	DownSQL  string
}

type MigrationPgError

type MigrationPgError struct {
	Sql   string
	Error error
}

type Migrator

type Migrator struct {
	Migrations []*Migration
	OnStart    func(name string, direction string, sql string) // OnStart is called when a migration is being run
	OnFinish   func(name string, direction string, durationMs int64)
	OnError    func(name string, err error, sql string)
	Data       map[string]interface{} // Data available to use in migrations
	// contains filtered or unexported fields
}

func NewMigrator

func NewMigrator(db *sql.DB) (m *Migrator, err error)

func NewMigratorEx

func NewMigratorEx(db *sql.DB, opts *MigratorOptions) (m *Migrator, err error)

func (*Migrator) AppendMigration

func (m *Migrator) AppendMigration(name, upSQL, downSQL string)

func (*Migrator) GetCurrentVersion

func (m *Migrator) GetCurrentVersion() (v int32, err error)

func (*Migrator) LoadMigrations

func (m *Migrator) LoadMigrations(path string) error

func (*Migrator) Migrate

func (m *Migrator) Migrate() error

Migrate runs pending migrations It calls m.OnStart when it begins a migration

func (*Migrator) MigrateTo

func (m *Migrator) MigrateTo(targetVersion int32) (err error)

MigrateTo migrates to targetVersion

type MigratorFS

type MigratorFS interface {
	ReadDir(dirname string) ([]fs.DirEntry, error)
	ReadFile(filename string) ([]byte, error)
	Glob(pattern string) (matches []string, err error)
}

type MigratorOptions

type MigratorOptions struct {
	// DisableTx causes the Migrator not to run migrations in a transaction.
	DisableTx bool
	// MigratorFS is the interface used for collecting the migrations.
	MigratorFS MigratorFS
}

type NoMigrationsFoundError

type NoMigrationsFoundError struct {
	Path string
}

func (NoMigrationsFoundError) Error

func (e NoMigrationsFoundError) Error() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL