Documentation
¶
Index ¶
- Variables
- type BaselineMigration
- type HistoryEntry
- type MigrationStatus
- type State
- func (s *State) Close() error
- func (s *State) Complete(ctx context.Context, schema, name string) error
- func (s *State) CreateBaseline(ctx context.Context, schemaName, baselineVersion string) error
- func (s *State) GetActiveMigration(ctx context.Context, schema string) (*migrations.Migration, error)
- func (s *State) HasExistingSchemaWithoutHistory(ctx context.Context, schemaName string) (bool, error)
- func (s *State) Init(ctx context.Context) error
- func (s *State) IsActiveMigrationPeriod(ctx context.Context, schema string) (bool, error)
- func (s *State) IsInitialized(ctx context.Context) (bool, error)
- func (s *State) LatestBaseline(ctx context.Context, schemaName string) (*BaselineMigration, error)
- func (s *State) LatestVersion(ctx context.Context, schema string) (*string, error)
- func (s *State) PgConn() *sql.DB
- func (s *State) PreviousVersion(ctx context.Context, schema string, includeInferred bool) (*string, error)
- func (s *State) ReadSchema(ctx context.Context, schemaName string) (*schema.Schema, error)
- func (s *State) Rollback(ctx context.Context, schema, name string) error
- func (s *State) Schema() string
- func (s *State) SchemaAfterMigration(ctx context.Context, schemaName, version string) (*schema.Schema, error)
- func (s *State) SchemaHistory(ctx context.Context, schema string) ([]HistoryEntry, error)
- func (s *State) Start(ctx context.Context, schemaname string, migration *migrations.Migration) (*schema.Schema, error)
- func (s *State) Status(ctx context.Context, schema string) (*Status, error)
- type Status
Constants ¶
This section is empty.
Variables ¶
var ErrNoActiveMigration = errors.New("no active migration")
Functions ¶
This section is empty.
Types ¶
type BaselineMigration ¶ added in v0.13.0
BaselineMigration represents a baseline migration record
type HistoryEntry ¶ added in v0.12.0
type HistoryEntry struct {
Migration migrations.RawMigration
CreatedAt time.Time
}
HistoryEntry represents a single migration in the migration history of a schema
type MigrationStatus ¶ added in v0.4.1
type MigrationStatus string
const ( NoneMigrationStatus MigrationStatus = "No migrations" InProgressMigrationStatus MigrationStatus = "In progress" CompleteMigrationStatus MigrationStatus = "Complete" )
type State ¶
type State struct {
// contains filtered or unexported fields
}
func (*State) CreateBaseline ¶ added in v0.13.0
CreateBaseline creates a baseline migration that captures the current state of the schema. It marks the migration as 'baseline' type and completed (done=true). This is used when you want to start using pgroll with an existing database.
func (*State) GetActiveMigration ¶
func (s *State) GetActiveMigration(ctx context.Context, schema string) (*migrations.Migration, error)
GetActiveMigration returns the name & raw content of the active migration (if any), errors out otherwise
func (*State) HasExistingSchemaWithoutHistory ¶ added in v0.13.0
func (s *State) HasExistingSchemaWithoutHistory(ctx context.Context, schemaName string) (bool, error)
HasExistingSchemaWithoutHistory checks if there's an existing schema with tables but no migration history. Returns true if the schema exists, has tables, but has no pgroll migration history
func (*State) IsActiveMigrationPeriod ¶
IsActiveMigrationPeriod returns true if there is an active migration
func (*State) IsInitialized ¶ added in v0.11.0
func (*State) LatestBaseline ¶ added in v0.13.0
LatestBaseline returns the most recent baseline migration for a schema, or nil if no baseline exists
func (*State) LatestVersion ¶
LatestVersion returns the name of the latest version schema, or nil if there is none. No active version occurs after initialization, but before the first migration is started.
func (*State) PreviousVersion ¶
func (s *State) PreviousVersion(ctx context.Context, schema string, includeInferred bool) (*string, error)
PreviousVersion returns the name of the previous version schema
func (*State) ReadSchema ¶
ReadSchema reads the schema for the specified schema name
func (*State) Rollback ¶
Rollback removes a migration from the state (we consider it rolled back, as if it never started)
func (*State) SchemaAfterMigration ¶ added in v0.9.0
func (s *State) SchemaAfterMigration(ctx context.Context, schemaName, version string) (*schema.Schema, error)
SchemaAfterMigration reads the schema after the migration `version` was applied to `schemaName`
func (*State) SchemaHistory ¶ added in v0.8.0
SchemaHistory returns all migrations applied to a schema since the most recent baseline in ascending timestamp order
func (*State) Start ¶
func (s *State) Start(ctx context.Context, schemaname string, migration *migrations.Migration) (*schema.Schema, error)
Start creates a new migration, storing its name and raw content this will effectively activate a new migration period, so `IsActiveMigrationPeriod` will return true until the migration is completed This method will return the current schema (before the migration is applied)
type Status ¶ added in v0.4.1
type Status struct {
// The schema name.
Schema string `json:"schema"`
// The name of the latest version schema.
Version string `json:"version"`
// The status of the most recent migration.
Status MigrationStatus `json:"status"`
}
Status describes the current migration status of a database schema.