Documentation ¶
Overview ¶
Package migration allows to perform versioned migrations in your ElasticEngine.
Index ¶
- Constants
- func HasVersion(migrations []Migration, version uint) bool
- type Migration
- type MigrationFunc
- type Migrations
- type Migrator
- func (m *Migrator) Down(ctx context.Context, targetVersion int) error
- func (m *Migrator) LatestMigrationVersion() uint
- func (m *Migrator) SetMigrationsIndex(name string)
- func (m *Migrator) Up(ctx context.Context, targetVersion int) error
- func (m *Migrator) Version(ctx context.Context) (migrationVersionInfo, error)
- type NewMigratorOptions
Constants ¶
const AllAvailable = -1
AllAvailable used in "Up" or "Down" methods to run all available migrations.
Variables ¶
This section is empty.
Functions ¶
func HasVersion ¶
Types ¶
type Migration ¶
type Migration struct { Version uint Description string Up MigrationFunc Down MigrationFunc }
Migration represents single engine migration. Migration contains:
- version: migration version, must be unique in migration list
- description: text description of migration
- up: callback which will be called in "up" migration process
- down: callback which will be called in "down" migration process for reverting changes
type MigrationFunc ¶
MigrationFunc is used to define actions to be performed for a migration.
type Migrations ¶ added in v0.0.50
type Migrations []Migration
func (Migrations) Sort ¶ added in v0.0.50
func (m Migrations) Sort()
type Migrator ¶
type Migrator struct {
// contains filtered or unexported fields
}
Migrate is type for performing migrations in provided database. Database versioned using dedicated collection. Each migration applying ("up" and "down") adds new document to collection. This document consists migration version, migration description and timestamp. Current database version determined as version in latest added document (biggest "_key") from collection mentioned above.
func NewMigrator ¶
func NewMigrator(opts NewMigratorOptions) *Migrator
func (*Migrator) Down ¶
Down performs "down" migration to bring back migrations to `version`. If targetVersion<=0 all "down" migrations will be performed. If targetVersion>0, only the down migrations where version>targetVersion will be performed (only if they were applied).
func (*Migrator) LatestMigrationVersion ¶ added in v0.0.74
func (*Migrator) SetMigrationsIndex ¶
SetMigrationsIndex replaces name of index for storing migration information. By default it is "migrations".
type NewMigratorOptions ¶ added in v0.0.32
type NewMigratorOptions struct { Engine elasticx.Engine Package string Migrations Migrations }