Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- func (c *Client) ApplyDDL(ctx context.Context, statements []string) error
- func (c *Client) ApplyDDLFile(ctx context.Context, ddl []byte) error
- func (c *Client) ApplyDML(ctx context.Context, statements []string) (int64, error)
- func (c *Client) ApplyDMLFile(ctx context.Context, dml []byte, partitioned bool, concurrency int) (int64, error)
- func (c *Client) ApplyPartitionedDML(ctx context.Context, statements []string, concurrency int) (int64, error)
- func (c *Client) Close() error
- func (c *Client) CreateDatabase(ctx context.Context, ddl []byte) error
- func (c *Client) DetermineUpgradeStatus(ctx context.Context, tableName string) (UpgradeStatus, error)
- func (c *Client) DropDatabase(ctx context.Context) error
- func (c *Client) EnsureMigrationTable(ctx context.Context, tableName string) error
- func (c *Client) ExecuteMigrations(ctx context.Context, migrations Migrations, limit int, tableName string, ...) (MigrationsOutput, error)
- func (c *Client) GetMigrationHistory(ctx context.Context, versionTableName string) ([]MigrationHistoryRecord, error)
- func (c *Client) GetMigrationLock(ctx context.Context, tableName, lockIdentifier string) (lock MigrationLock, err error)
- func (c *Client) GetSchemaMigrationVersion(ctx context.Context, tableName string) (uint, bool, error)
- func (c *Client) LoadDDL(ctx context.Context) ([]byte, error)
- func (c *Client) LoadDDLs(ctx context.Context) ([]SchemaDDL, error)
- func (c *Client) LoadStaticDatas(ctx context.Context, tables []string, customSort map[string]string) ([]StaticData, error)
- func (c *Client) RepairMigration(ctx context.Context, tableName string) error
- func (c *Client) SetupMigrationLock(ctx context.Context, tableName string) error
- func (c *Client) TruncateAllTables(ctx context.Context) error
- func (c *Client) UpgradeExecuteMigrations(ctx context.Context, migrations Migrations, limit int, tableName string) (MigrationsOutput, error)
- type Config
- type Error
- type ErrorCode
- type Migration
- type MigrationHistoryRecord
- type MigrationLock
- type Migrations
- type MigrationsOutput
- type SchemaDDL
- type StaticData
- type UpgradeStatus
Constants ¶
View Source
const ( FirstRun = UpgradeStatus("FirstRun") ExistingMigrationsNoUpgrade = UpgradeStatus("NoUpgrade") ExistingMigrationsUpgradeStarted = UpgradeStatus("Started") ExistingMigrationsUpgradeCompleted = UpgradeStatus("Completed") )
View Source
const ( ErrorCodeCreateClient = iota + 1 ErrorCodeCloseClient ErrorCodeCreateDatabase ErrorCodeDropDatabase ErrorCodeTruncateAllTables ErrorCodeLoadSchema ErrorCodeUpdateDDL ErrorCodeUpdateDML ErrorCodeUpdatePartitionedDML ErrorCodeExecuteMigrations ErrorCodeGetMigrationVersion ErrorCodeSetMigrationVersion ErrorCodeNoMigration ErrorCodeMigrationVersionDirty ErrorCodeWaitOperation ErrorCodeEnsureMigrationTables ErrorCodeCompleteUpgrade ErrorCodeUndirtyMigration )
Variables ¶
View Source
var (
MigrationNameRegex = regexp.MustCompile(`[a-zA-Z0-9_\-]+`)
)
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) ApplyDMLFile ¶
func (*Client) ApplyPartitionedDML ¶
func (*Client) CreateDatabase ¶
func (*Client) DetermineUpgradeStatus ¶
func (*Client) EnsureMigrationTable ¶
func (*Client) ExecuteMigrations ¶
func (c *Client) ExecuteMigrations(ctx context.Context, migrations Migrations, limit int, tableName string, partitionedConcurrency int) (MigrationsOutput, error)
func (*Client) GetMigrationHistory ¶
func (*Client) GetMigrationLock ¶
func (*Client) GetSchemaMigrationVersion ¶
func (*Client) LoadStaticDatas ¶ added in v1.2.0
func (*Client) RepairMigration ¶ added in v1.8.0
RepairMigration will delete the dirty rows in the version and history tables
func (*Client) SetupMigrationLock ¶
func (*Client) UpgradeExecuteMigrations ¶
func (c *Client) UpgradeExecuteMigrations(ctx context.Context, migrations Migrations, limit int, tableName string) (MigrationsOutput, error)
type Config ¶
type Migration ¶
type Migration struct { // Version is the version of the migration Version uint // Name is the name of the migration Name string // FileName is the name of the source file for the migration FileName string // Statements is the migration statements Statements []string // contains filtered or unexported fields }
migration represents the parsed migration file. e.g. version_name.sql
type MigrationHistoryRecord ¶
type MigrationLock ¶
type Migrations ¶
type Migrations []*Migration
func LoadMigrations ¶
func LoadMigrations(dir string, toSkipSlice []uint, detectPartitionedDML bool) (Migrations, error)
func (Migrations) Len ¶
func (ms Migrations) Len() int
func (Migrations) Less ¶
func (ms Migrations) Less(i, j int) bool
func (Migrations) Swap ¶
func (ms Migrations) Swap(i, j int)
type MigrationsOutput ¶ added in v1.10.0
type MigrationsOutput map[string]migrationInfo
func (MigrationsOutput) String ¶ added in v1.10.0
func (i MigrationsOutput) String() string
type StaticData ¶ added in v1.2.0
func (StaticData) ToFileName ¶ added in v1.2.0
func (s StaticData) ToFileName() string
type UpgradeStatus ¶
type UpgradeStatus string
Click to show internal directories.
Click to hide internal directories.