internal

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MigrationUp = iota
	MigrationDown
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

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

func NewDatabase

func NewDatabase(dsn string) *Database

func (*Database) Close

func (d *Database) Close() error

func (*Database) CreateMigration

func (d *Database) CreateMigration(name string, migrationType config.MigrationType) error

func (*Database) Execute

func (d *Database) Execute(stmt string) error

func (*Database) GetMigrations

func (d *Database) GetMigrations(args ...any) ([]MigrationRec, error)

func (*Database) GetReadyMigrations

func (d *Database) GetReadyMigrations() (*[]MigrationRec, error)

func (*Database) GetVersion

func (d *Database) GetVersion() (version VersionInfo, err error)

func (*Database) SetMigrationStatus

func (d *Database) SetMigrationStatus(mid int, status MigrationStatus) error

func (*Database) StartTransaction

func (d *Database) StartTransaction() (tx *sql.Tx)

type DownMigration

type DownMigration func(sql.Tx) error

type IRegistry

type IRegistry interface {
	Register(name string, up func(Tx *sql.Tx) error, down func(Tx *sql.Tx) error) error
	Check(name string) bool
	Get(name string) *Migration
}
var Registry IRegistry

func NewRegistry

func NewRegistry() IRegistry

type Migration

type Migration struct {
	Name string
	Up   func(Tx *sql.Tx) error
	Down func(Tx *sql.Tx) error
}

type MigrationDirection

type MigrationDirection int

func (MigrationDirection) String

func (md MigrationDirection) String() string

type MigrationRec

type MigrationRec struct {
	ID      int
	Name    string
	Type    config.MigrationType
	Status  MigrationStatus
	LastRun time.Time
	Applied bool
}

type MigrationStatus

type MigrationStatus int
const (
	MigrationNew MigrationStatus = iota
	MigrationInProc
	MigrationError
	MigrationApplied
)

func (*MigrationStatus) Set

func (s *MigrationStatus) Set(value string) error

func (*MigrationStatus) String

func (s *MigrationStatus) String() string

type Migrator

type Migrator struct {
	Config    config.Config
	Direction MigrationDirection
	Database  *Database
}

func NewMigrator

func NewMigrator(cfg config.Config, dir MigrationDirection) *Migrator

func (*Migrator) ApplyMigration

func (m *Migrator) ApplyMigration(mg *MigrationRec) error

func (*Migrator) Close

func (m *Migrator) Close()

func (*Migrator) Migrate

func (m *Migrator) Migrate() error

func (*Migrator) ReadMigrationStatements

func (m *Migrator) ReadMigrationStatements(reader io.Reader) ([]string, error)

func (*Migrator) ReadMigrationStatementsFile

func (m *Migrator) ReadMigrationStatementsFile(filename string) ([]string, error)

type RegistryImpl

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

func (*RegistryImpl) Check

func (r *RegistryImpl) Check(name string) bool

func (*RegistryImpl) Get

func (r *RegistryImpl) Get(name string) *Migration

func (*RegistryImpl) Register

func (r *RegistryImpl) Register(name string, up func(Tx *sql.Tx) error, down func(Tx *sql.Tx) error) error

type UpMigration

type UpMigration func(sql.Tx) error

type VersionInfo

type VersionInfo struct {
	Version       int
	MigrationName string
}

Jump to

Keyboard shortcuts

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