migrate

package
v2.1.1 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2023 License: MIT Imports: 14 Imported by: 16

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func FindMigrations

func FindMigrations(fsys fs.FS) ([]string, error)

FindMigrations finds all migration files in fsys.

func InstallCodePackage

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

func LockExecTx

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

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

func LoadCodePackage

func LoadCodePackage(fsys fs.FS) (*CodePackage, error)

func (*CodePackage) Eval

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

type ErrorLineExtract

type ErrorLineExtract struct {
	LineNum   int    // Line number starting with 1
	ColumnNum int    // Column number starting with 1
	Text      string // Text of the line without a new line character.
}

func ExtractErrorLine

func ExtractErrorLine(source string, position int) (ErrorLineExtract, error)

ExtractErrorLine takes source and character position extracts the line number, column number, and the line of text.

The first character is position 1.

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 {
	MigrationName string
	Sql           string
	*pgconn.PgError
}

func (MigrationPgError) Error

func (e MigrationPgError) Error() string

func (MigrationPgError) Unwrap

func (e MigrationPgError) Unwrap() error

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 *pgx.Conn, versionTable string) (m *Migrator, err error)

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

func NewMigratorEx

func NewMigratorEx(ctx context.Context, conn *pgx.Conn, 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(fsys fs.FS) 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 MigratorOptions

type MigratorOptions struct {
	// DisableTx causes the Migrator not to run migrations in a transaction.
	DisableTx bool
}

type NoMigrationsFoundError

type NoMigrationsFoundError struct{}

func (NoMigrationsFoundError) Error

func (e NoMigrationsFoundError) Error() string

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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