package goose
import "github.com/pressly/goose/v3"
Index ¶
- Constants
- Variables
- func AddMigration(up func(*sql.Tx) error, down func(*sql.Tx) error)
- func AddNamedMigration(filename string, up func(*sql.Tx) error, down func(*sql.Tx) error)
- func Create(db *sql.DB, dir, name, migrationType string) error
- func CreateWithTemplate(db *sql.DB, dir string, tmpl *template.Template, name, migrationType string) error
- func Down(db *sql.DB, dir string) error
- func DownTo(db *sql.DB, dir string, version int64) error
- func EnsureDBVersion(db *sql.DB) (int64, error)
- func Fix(dir string) error
- func GetDBVersion(db *sql.DB) (int64, error)
- func NumericComponent(name string) (int64, error)
- func OpenDBWithDriver(driver string, dbstring string) (*sql.DB, error)
- func Redo(db *sql.DB, dir string) error
- func Reset(db *sql.DB, dir string) error
- func Run(command string, db *sql.DB, dir string, args ...string) error
- func RunWithOptions(command string, db *sql.DB, dir string, args []string, options ...OptionsFunc) error
- func SetBaseFS(fsys fs.FS)
- func SetDialect(d string) error
- func SetLogger(l Logger)
- func SetSequential(s bool)
- func SetTableName(n string)
- func SetVerbose(v bool)
- func Status(db *sql.DB, dir string) error
- func TableName() string
- func Up(db *sql.DB, dir string, opts ...OptionsFunc) error
- func UpByOne(db *sql.DB, dir string, opts ...OptionsFunc) error
- func UpTo(db *sql.DB, dir string, version int64, opts ...OptionsFunc) error
- func Version(db *sql.DB, dir string) error
- type ClickHouseDialect
- type Logger
- type Migration
- func (m *Migration) Down(db *sql.DB) error
- func (m *Migration) String() string
- func (m *Migration) Up(db *sql.DB) error
- type MigrationRecord
- type Migrations
- func CollectMigrations(dirpath string, current, target int64) (Migrations, error)
- func (ms Migrations) Current(current int64) (*Migration, error)
- func (ms Migrations) Last() (*Migration, error)
- func (ms Migrations) Len() int
- func (ms Migrations) Less(i, j int) bool
- func (ms Migrations) Next(current int64) (*Migration, error)
- func (ms Migrations) Previous(current int64) (*Migration, error)
- func (ms Migrations) String() string
- func (ms Migrations) Swap(i, j int)
- type MySQLDialect
- type OptionsFunc
- type PostgresDialect
- type RedshiftDialect
- type SQLDialect
- type SqlServerDialect
- type Sqlite3Dialect
- type TiDBDialect
Constants ¶
const VERSION = "v3.2.0"
Deprecated: VERSION will no longer be supported in v4.
Variables ¶
var ( // ErrNoCurrentVersion when a current migration version is not found. ErrNoCurrentVersion = errors.New("no current version found") // ErrNoNextVersion when the next migration version is not found. ErrNoNextVersion = errors.New("no next version found") // MaxVersion is the maximum allowed version. MaxVersion int64 = 9223372036854775807 // max(int64) )
Functions ¶
func AddMigration ¶
AddMigration adds a migration.
func AddNamedMigration ¶
AddNamedMigration : Add a named migration.
func Create ¶
Create writes a new blank migration file.
func CreateWithTemplate ¶
func CreateWithTemplate(db *sql.DB, dir string, tmpl *template.Template, name, migrationType string) error
Create writes a new blank migration file.
func Down ¶
Down rolls back a single migration from the current version.
func DownTo ¶
DownTo rolls back migrations to a specific version.
func EnsureDBVersion ¶
EnsureDBVersion retrieves the current version for this DB. Create and initialize the DB version table if it doesn't exist.
func Fix ¶
func GetDBVersion ¶
GetDBVersion is an alias for EnsureDBVersion, but returns -1 in error.
func NumericComponent ¶
NumericComponent looks for migration scripts with names in the form: XXX_descriptivename.ext where XXX specifies the version number and ext specifies the type of migration
func OpenDBWithDriver ¶
OpenDBWithDriver creates a connection to a database, and modifies goose internals to be compatible with the supplied driver by calling SetDialect.
func Redo ¶
Redo rolls back the most recently applied migration, then runs it again.
func Reset ¶
Reset rolls back all migrations
func Run ¶
Run runs a goose command.
func RunWithOptions ¶
func RunWithOptions(command string, db *sql.DB, dir string, args []string, options ...OptionsFunc) error
Run runs a goose command with options.
func SetBaseFS ¶
SetBaseFS sets a base FS to discover migrations. It can be used with 'embed' package. Calling with 'nil' argument leads to default behaviour: discovering migrations from os filesystem. Note that modifying operations like Create will use os filesystem anyway.
func SetDialect ¶
SetDialect sets the SQLDialect
func SetLogger ¶
func SetLogger(l Logger)
SetLogger sets the logger for package output
func SetSequential ¶
func SetSequential(s bool)
SetSequential set whether to use sequential versioning instead of timestamp based versioning
func SetTableName ¶
func SetTableName(n string)
SetTableName set goose db version table name
func SetVerbose ¶
func SetVerbose(v bool)
SetVerbose set the goose verbosity mode
func Status ¶
Status prints the status of all migrations.
func TableName ¶
func TableName() string
TableName returns goose db version table name
func Up ¶
func Up(db *sql.DB, dir string, opts ...OptionsFunc) error
Up applies all available migrations.
func UpByOne ¶
func UpByOne(db *sql.DB, dir string, opts ...OptionsFunc) error
UpByOne migrates up by a single version.
func UpTo ¶
UpTo migrates up to a specific version.
func Version ¶
Version prints the current version of the database.
Types ¶
type ClickHouseDialect ¶
type ClickHouseDialect struct{}
ClickHouseDialect struct.
type Logger ¶
type Logger interface { Fatal(v ...interface{}) Fatalf(format string, v ...interface{}) Print(v ...interface{}) Println(v ...interface{}) Printf(format string, v ...interface{}) }
Logger is standard logger interface
type Migration ¶
type Migration struct { Version int64 Next int64 // next version, or -1 if none Previous int64 // previous version, -1 if none Source string // path to .sql script or go file Registered bool UpFn func(*sql.Tx) error // Up go migration function DownFn func(*sql.Tx) error // Down go migration function }
Migration struct.
func (*Migration) Down ¶
Down runs a down migration.
func (*Migration) String ¶
func (*Migration) Up ¶
Up runs an up migration.
type MigrationRecord ¶
type MigrationRecord struct { VersionID int64 TStamp time.Time IsApplied bool // was this a result of up() or down() }
MigrationRecord struct.
type Migrations ¶
type Migrations []*Migration
Migrations slice.
func CollectMigrations ¶
func CollectMigrations(dirpath string, current, target int64) (Migrations, error)
CollectMigrations returns all the valid looking migration scripts in the migrations folder and go func registry, and key them by version.
func (Migrations) Current ¶
func (ms Migrations) Current(current int64) (*Migration, error)
Current gets the current migration.
func (Migrations) Last ¶
func (ms Migrations) Last() (*Migration, error)
Last gets the last migration.
func (Migrations) Len ¶
func (ms Migrations) Len() int
helpers so we can use pkg sort
func (Migrations) Less ¶
func (ms Migrations) Less(i, j int) bool
func (Migrations) Next ¶
func (ms Migrations) Next(current int64) (*Migration, error)
Next gets the next migration.
func (Migrations) Previous ¶
func (ms Migrations) Previous(current int64) (*Migration, error)
Previous : Get the previous migration.
func (Migrations) String ¶
func (ms Migrations) String() string
func (Migrations) Swap ¶
func (ms Migrations) Swap(i, j int)
type MySQLDialect ¶
type MySQLDialect struct{}
MySQLDialect struct.
type OptionsFunc ¶
type OptionsFunc func(o *options)
func WithAllowMissing ¶
func WithAllowMissing() OptionsFunc
type PostgresDialect ¶
type PostgresDialect struct{}
PostgresDialect struct.
type RedshiftDialect ¶
type RedshiftDialect struct{}
RedshiftDialect struct.
type SQLDialect ¶
type SQLDialect interface {
// contains filtered or unexported methods
}
SQLDialect abstracts the details of specific SQL dialects for goose's few SQL specific statements
func GetDialect ¶
func GetDialect() SQLDialect
GetDialect gets the SQLDialect
type SqlServerDialect ¶
type SqlServerDialect struct{}
SqlServerDialect struct.
type Sqlite3Dialect ¶
type Sqlite3Dialect struct{}
Sqlite3Dialect struct.
type TiDBDialect ¶
type TiDBDialect struct{}
TiDBDialect struct.
Source Files ¶
create.go db.go dialect.go down.go fix.go goose.go helpers.go log.go migrate.go migration.go migration_sql.go osfs.go redo.go reset.go sql_parser.go status.go up.go version.go
Directories ¶
Path | Synopsis |
---|---|
cmd | |
cmd/goose | |
examples | |
examples/go-migrations | |
tests | |
tests/e2e |
- Version
- v3.3.1
- Published
- Oct 28, 2021
- Platform
- linux/amd64
- Imports
- 22 packages
- Last checked
- now –
Tools for package owners.