schema

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2022 License: Apache-2.0, Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Migrations migrate.MigrationSource = &migrate.AssetMigrationSource{
	Asset:    Asset,
	AssetDir: AssetDir,
	Dir:      "migrations",
}

Migrations represents all of the schema migration for horizon

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDigest

func AssetDigest(name string) ([sha256.Size]byte, error)

AssetDigest returns the digest of the file with the given name. It returns an error if the asset could not be found or the digest could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"}, AssetDir("data/img") would return []string{"a.png", "b.png"}, AssetDir("foo.txt") and AssetDir("notexist") would return an error, and AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func AssetString

func AssetString(name string) (string, error)

AssetString returns the asset contents as a string (instead of a []byte).

func Digests

func Digests() (map[string][sha256.Size]byte, error)

Digests returns a map of all known files and their checksums.

func GetMigrationsUp

func GetMigrationsUp(dbUrl string) (migrationIds []string)

GetMigrationsUp returns a list of names of any migrations needed in the "up" direction (more recent schema versions).

func GetNumMigrationsDown

func GetNumMigrationsDown(dbUrl string) (nMigrations int)

GetNumMigrationsDown returns the number of migrations to apply in the "down" direction to return to the older schema version expected by this version of Horizon. To keep the code simple, it does not provide a list of migration names.

func Migrate

func Migrate(db *sql.DB, dir MigrateDir, count int) (int, error)

Migrate performs schema migration. Migrations can occur in one of three ways:

- up: migrations are performed from the currently installed version upwards. If count is 0, all unapplied migrations will be run.

- down: migrations are performed from the current version downard. If count is 0, all applied migrations will be run in a downard direction.

- redo: migrations are first ran downard `count` times, and then are rand upward back to the current version at the start of the process. If count is 0, a count of 1 will be assumed.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func MustAssetString

func MustAssetString(name string) string

MustAssetString is like AssetString but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory.

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively.

func Status

func Status(db *sql.DB) (string, error)

Status returns information about the current status of db migrations. Which ones are pending, and when past ones were applied.

From: https://github.com/rubenv/sql-migrate/blob/master/sql-migrate/command_status.go

Types

type MigrateDir

type MigrateDir string

MigrateDir represents a direction in which to perform schema migrations.

const (
	// MigrateUp causes migrations to be run in the "up" direction.
	MigrateUp MigrateDir = "up"
	// MigrateDown causes migrations to be run in the "down" direction.
	MigrateDown MigrateDir = "down"
	// MigrateRedo causes migrations to be run down, then up
	MigrateRedo MigrateDir = "redo"
)

Jump to

Keyboard shortcuts

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