migrate

package
v0.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 8, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FormatAtlas         = "atlas"
	FormatGolangMigrate = "golang-migrate"
	FormatGoose         = "goose"
	FormatFlyway        = "flyway"
	FormatLiquibase     = "liquibase"
	FormatDBMate        = "dbmate"
)

List of supported formats.

Variables

Formats is the list of supported formats.

Functions

func Dir added in v0.12.1

func Dir(u string, create bool) (migrate.Dir, error)

Dir parses u and calls dirURL.

func DirURL added in v0.12.1

func DirURL(u *url.URL, create bool) (migrate.Dir, error)

DirURL returns a migrate.Dir to use as migration directory. For now only local directories are supported.

func Formatter added in v0.12.1

func Formatter(u *url.URL) (migrate.Formatter, error)

Formatter returns the dir formatter for its URL.

Types

type EntRevisions

type EntRevisions struct {
	// contains filtered or unexported fields
}

EntRevisions provides implementation for the migrate.RevisionReadWriter interface.

func NewEntRevisions

func NewEntRevisions(ctx context.Context, ac *sqlclient.Client, opts ...Option) (*EntRevisions, error)

NewEntRevisions creates a new EntRevisions with the given sqlclient.Client.

func (*EntRevisions) CurrentRevision added in v0.9.1

func (r *EntRevisions) CurrentRevision(ctx context.Context) (*migrate.Revision, error)

CurrentRevision returns the current (latest) revision in the revisions table.

func (*EntRevisions) DeleteRevision added in v0.7.1

func (r *EntRevisions) DeleteRevision(ctx context.Context, v string) error

DeleteRevision deletes a revision from the revisions table.

func (*EntRevisions) ID added in v0.11.0

func (r *EntRevisions) ID(ctx context.Context, operatorV string) (string, error)

ID returns the identifier of the connected revisions table.

func (*EntRevisions) Ident added in v0.6.0

func (r *EntRevisions) Ident() *migrate.TableIdent

Ident returns the table identifier.

func (*EntRevisions) Migrate added in v0.6.4

func (r *EntRevisions) Migrate(ctx context.Context) (err error)

Migrate attempts to create / update the revisions table. This is separated since Ent attempts to wrap the migration execution in a transaction and assumes the underlying connection is of type *sql.DB, which is not true for actually reading and writing revisions.

func (*EntRevisions) ReadRevision added in v0.6.0

func (r *EntRevisions) ReadRevision(ctx context.Context, v string) (*migrate.Revision, error)

ReadRevision reads a revision from the revisions table.

ReadRevision will not return results only saved in cache.

func (*EntRevisions) ReadRevisions

func (r *EntRevisions) ReadRevisions(ctx context.Context) ([]*migrate.Revision, error)

ReadRevisions reads the revisions from the revisions table.

ReadRevisions will not return results only saved to cache.

func (*EntRevisions) WriteRevision

func (r *EntRevisions) WriteRevision(ctx context.Context, rev *migrate.Revision) error

WriteRevision writes a revision to the revisions table.

type Option

type Option func(*EntRevisions) error

Option allows to configure EntRevisions by using functional arguments.

func WithSchema

func WithSchema(s string) Option

WithSchema configures the schema to use for the revision table.

type RevisionReadWriter added in v0.13.0

type RevisionReadWriter interface {
	migrate.RevisionReadWriter
	// CurrentRevision returns the current revision in the revisions table.
	CurrentRevision(context.Context) (*migrate.Revision, error)
	// Migrate applies the migration of the revisions table.
	Migrate(context.Context) error
	// ID returns the current target identifier.
	ID(context.Context, string) (string, error)
}

RevisionReadWriter is a revision read-writer with migration capabilities.

func RevisionsForClient added in v0.13.0

func RevisionsForClient(ctx context.Context, ac *sqlclient.Client, schema string) (RevisionReadWriter, error)

RevisionsForClient creates a new RevisionReadWriter for the given sqlclient.Client.

type StatusReporter added in v0.8.0

type StatusReporter struct {
	// Client configures the connection to the database to file a MigrateStatus for.
	Client *sqlclient.Client
	// Dir is used for scanning and validating the migration directory.
	Dir migrate.Dir
	// Schema name the revision table resides in.
	Schema string
}

StatusReporter is used to gather information about migration status.

func (*StatusReporter) Report added in v0.8.0

Report creates and writes a MigrateStatus.

Directories

Path Synopsis
ent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL