migrate

package
v1.12.6 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func FindMigrations added in v1.2.0

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

func FindMigrationsEx added in v1.8.0

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

func InstallCodePackage added in v1.12.4

func InstallCodePackage(ctx context.Context, conn Querier, mergeData map[string]interface{}, codePackage *CodePackage) (err error)

func LockExecTx added in v1.12.4

func LockExecTx(ctx context.Context, conn Querier, sql string) (err error)

Types

type BadVersionError

type BadVersionError string

func (BadVersionError) Error

func (e BadVersionError) Error() string

type CodePackage added in v1.12.4

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

func LoadCodePackage added in v1.12.4

func LoadCodePackage(path string) (*CodePackage, error)

func LoadCodePackageEx added in v1.12.4

func LoadCodePackageEx(path string, fs MigratorFS) (*CodePackage, error)

func (*CodePackage) Eval added in v1.12.4

func (cp *CodePackage) Eval(data map[string]interface{}) (string, error)

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 added in v1.12.4

type MigrationPgError struct {
	Sql string
	*pgconn.PgError
}

type Migrator

type Migrator struct {
	Migrations []*Migration
	OnStart    func(int32, string, string, string) // OnStart is called when a migration is run with the sequence, name, direction, and SQL
	Data       map[string]interface{}              // Data available to use in migrations
	// contains filtered or unexported fields
}

func NewMigrator

func NewMigrator(ctx context.Context, conn Querier, versionTable string) (m *Migrator, err error)

NewMigrator initializes a new Migrator. It is highly recommended that versionTable be schema qualified.

func NewMigratorEx added in v1.8.0

func NewMigratorEx(ctx context.Context, conn Querier, versionTable string, opts *MigratorOptions) (m *Migrator, err error)

NewMigratorEx initializes a new Migrator. It is highly recommended that versionTable be schema qualified.

func (*Migrator) AppendMigration

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

func (*Migrator) GetCurrentVersion

func (m *Migrator) GetCurrentVersion(ctx context.Context) (v int32, err error)

func (*Migrator) LoadMigrations

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

func (*Migrator) Migrate

func (m *Migrator) Migrate(ctx context.Context) error

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

func (*Migrator) MigrateTo

func (m *Migrator) MigrateTo(ctx context.Context, targetVersion int32) (err error)

MigrateTo migrates to targetVersion

type MigratorFS added in v1.8.0

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

type MigratorOptions added in v1.8.0

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

type Querier added in v1.12.4

type Querier interface {
	Begin(ctx context.Context) (pgx.Tx, error)
	Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
	QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
}

Jump to

Keyboard shortcuts

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