migration

package
v2.5.0 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2024 License: ISC Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RESET     = "\033[0m"
	BOLD      = "\033[1m"
	UNDERLINE = "\033[4m"
	STRIKE    = "\033[9m"
	ITALIC    = "\033[3m"
)
View Source
const (
	RED    = "\033[31m"
	GREEN  = "\033[32m"
	YELLOW = "\033[33m"
	BLUE   = "\033[34m"
	PURPLE = "\033[35m"
	CYAN   = "\033[36m"
	GRAY   = "\033[37m"
	WHITE  = "\033[37m"
)

Variables

This section is empty.

Functions

func Formatter added in v2.2.4

func Formatter(pattern string, args ...any)

styling patterns

{R}: RESET, {B}: BOLD ,{U}: UNDERLINE ,{S}: STRIKE ,{I}: ITALIC ,{r}: RED ,{g}: GREEN ,{y}: YELLOW ,{b}: BLUE ,{p}: PURPLE ,{c}: CYAN ,{m}: GRAY ,{w}: WHITE

func InitMigration added in v2.5.0

func InitMigration(db *sqlx.DB) error

InitMigration prepare database to run migrations

func Migrate

func Migrate(db *sqlx.DB, stage string, files ...File) ([]string, error)

Migrate run migration on database

func MigrationCommand

func MigrationCommand(db *sqlx.DB, root, ext string, autExec ...string) *cobra.Command

MigrationCommand get migration command

func Rollback

func Rollback(db *sqlx.DB, files ...File) ([]string, error)

Rollback run migration down on database

Types

type File added in v2.5.0

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

File migration file

func NewFile added in v2.5.0

func NewFile(name, ext, content string) File

NewFile create new migration file from content

file name must full with extension

func (File) Content added in v2.5.0

func (file File) Content() string

Content get file content

func (File) Extension added in v2.5.0

func (file File) Extension() string

Extension get file extension

func (File) Is added in v2.5.0

func (file File) Is(name string) bool

Is check migration name without dash, timestamp and extension

func (File) Migrate added in v2.5.0

func (file File) Migrate(db *sqlx.DB, stage string, migrated ...string) (bool, error)

Migrate migrate file stage, return true if migrate or false if file already migrated

func (File) MustSkip added in v2.5.0

func (file File) MustSkip(skips ...string) bool

MustSkip check if file must skipped

func (File) Name added in v2.5.0

func (file File) Name() string

Name get readable file name

func (File) RealName added in v2.5.0

func (file File) RealName() string

RealName get file name

func (File) Rollback added in v2.5.0

func (file File) Rollback(db *sqlx.DB, migrated ...string) (bool, error)

Rollback run migration down for file

func (File) Scripts added in v2.5.0

func (file File) Scripts(stage string) ([]string, error)

Scripts get file scripts list for stage

func (File) Timestamp added in v2.5.0

func (file File) Timestamp() int64

Get timestamp part of filename

type Files added in v2.5.0

type Files []File

Files migration file list

func ReadFS added in v2.5.0

func ReadFS(dir, ext string) (Files, error)

ReadFS read migration from file system

func (Files) Filter added in v2.5.0

func (files Files) Filter(name string) Files

Filter filter files by name

func (Files) Len added in v2.5.0

func (files Files) Len() int

Len get files length

func (Files) Less added in v2.5.0

func (files Files) Less(i, j int) bool

Less check if name timestamp is smaller

func (Files) Reverse added in v2.5.0

func (files Files) Reverse()

Reverse reverse array order

func (Files) Swap added in v2.5.0

func (files Files) Swap(i, j int)

Swap swap item i and j

type Migration added in v2.5.0

type Migration struct {
	Name  string `db:"name"`
	Stage string `db:"stage"`
}

type Migrations added in v2.5.0

type Migrations []Migration

func Migrated added in v2.5.0

func Migrated(db *sqlx.DB) (Migrations, error)

Migrated get migrated items

func StageMigrated added in v2.5.0

func StageMigrated(db *sqlx.DB, stage string) (Migrations, error)

StageMigrated get migrated items for stage

func (Migrations) GroupByFile added in v2.5.0

func (migrations Migrations) GroupByFile() map[string][]string

Group migration by file

func (Migrations) GroupByStage added in v2.5.0

func (migrations Migrations) GroupByStage() map[string][]string

Group migration by stage

func (Migrations) Names added in v2.5.0

func (migrations Migrations) Names() []string

Get migration file names

Jump to

Keyboard shortcuts

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