migrate

package
v1.12.5 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 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.5

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

func LockExecTx added in v1.12.5

func LockExecTx(ctx context.Context, conn *pgx.Conn, sql string) (err error)

Types

type BadVersionError

type BadVersionError string

func (BadVersionError) Error

func (e BadVersionError) Error() string

type CodePackage added in v1.12.5

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

func LoadCodePackage added in v1.12.5

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

func LoadCodePackageEx added in v1.12.5

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

func (*CodePackage) Eval added in v1.12.5

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

type Connector added in v1.12.5

type Connector interface {
	Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
	Query(ctx context.Context, sql string, args ...interface{}) (pgx.Rows, error)
	QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
	Begin(ctx context.Context) (pgx.Tx, 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.5

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 Connector, 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 Connector, 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

Jump to

Keyboard shortcuts

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