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, ddl []byte, partitioned bool) (int64, error)
- func (c *Client) ApplyPartitionedDML(ctx context.Context, statements []string) (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) 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) SetSchemaMigrationVersion(ctx context.Context, version uint, dirty bool, 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) error
- type Config
- type Error
- type ErrorCode
- type Migration
- type MigrationHistoryRecord
- type MigrationLock
- type Migrations
- type SchemaDDL
- 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 )
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 (*Client) GetMigrationHistory ¶
func (*Client) GetMigrationLock ¶
func (*Client) GetSchemaMigrationVersion ¶
func (*Client) SetSchemaMigrationVersion ¶
func (*Client) SetupMigrationLock ¶
func (*Client) UpgradeExecuteMigrations ¶
type Migration ¶
type Migration struct { // Version is the version of the migration Version uint // Name is the name of the migration Name 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) (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 UpgradeStatus ¶
type UpgradeStatus string
Click to show internal directories.
Click to hide internal directories.