Documentation ¶
Overview ¶
Package clpgmigrate implements the postgres migration logic.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GooseMigrated ¶ added in v0.29.1
GooseMigrated configures the di for using snapshot migrations.
func SnapshotMigrated ¶
SnapshotMigrated configures the di for using snapshot migrations.
func VersionMigrated ¶
VersionMigrated configures the di for testing with a temporary database and auto-migration of a directory.
Types ¶
type Config ¶
type Config struct { // TemporaryDatabase can be set to cause the logic to create a random database name and initialize // it when running auto-migration. This is mostly useful for automated tests TemporaryDatabase bool `env:"TEMPORARY_DATABASE" envDefault:"false"` // AutoMigration can be set to true to cause the logic to automatically run migrations when started. This // is mostly useful for automated tests. AutoMigration bool `env:"AUTO_MIGRATION" envDefault:"false"` // the sql being generated for creating the temporary database CreateDatabaseFormat string `env:"CREATE_DATABASE_FORMAT" envDefault:"CREATE DATABASE %s"` // the sql being generated for dropping the temporary database DropDatabaseFormat string `env:"DROP_DATABASE_FORMAT" envDefault:"DROP DATABASE %s (force)"` }
Config configures the packaged logic.
type GooseMigrateDir ¶ added in v0.29.1
GooseMigrateDir types a filesytem that holds the full path to the goose migrations.
type GooseMigrater ¶ added in v0.29.1
type GooseMigrater struct {
// contains filtered or unexported fields
}
GooseMigrater uses a goose strategy to migrate.
func NewGooseMigrater ¶ added in v0.29.1
func NewGooseMigrater( cfg Config, logs *zap.Logger, rwcfg *pgxpool.Config, rocfg *pgxpool.Config, dir GooseMigrateDir, ) (*GooseMigrater, error)
NewGooseMigrater inits the migrater.
type SnapshotMigrater ¶
type SnapshotMigrater struct {
// contains filtered or unexported fields
}
SnapshotMigrater uses a snapshot strategy to migrate.
func NewSnaphotMigrater ¶
func NewSnaphotMigrater( cfg Config, logs *zap.Logger, rwcfg *pgxpool.Config, rocfg *pgxpool.Config, snapp SnapshotPath, ) (*SnapshotMigrater, error)
NewSnaphotMigrater inits the migrater.
type SnapshotPath ¶
type SnapshotPath string
SnapshotPath types a string to hold the full snapshot sql.
type VersionMigrater ¶
type VersionMigrater struct {
// contains filtered or unexported fields
}
VersionMigrater allows programmatic migration of a database schema using versioned sql steps. Mostly used in testing and local development to provide fully isolated databases.
func NewVersionMigrater ¶
func NewVersionMigrater( cfg Config, logs *zap.Logger, rwcfg *pgxpool.Config, rocfg *pgxpool.Config, dir migrate.Dir, ) (*VersionMigrater, error)
NewVersionMigrater inits the migrater.