migration

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrCallWithNewTransaction = errors.New("call with new transaction")

Functions

func MigrateIfNeeded

func MigrateIfNeeded(ctx context.Context, targetDB db.DB, network utils.Network, log utils.SimpleLogger) error

func SchemaMetadata added in v0.8.0

func SchemaMetadata(targetDB db.DB) (schemaMetadata, error)

SchemaMetadata retrieves metadata about a database schema from the given database.

Types

type BucketMigrator added in v0.5.0

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

func NewBucketMigrator added in v0.5.0

func NewBucketMigrator(target db.Bucket, do BucketMigratorDoFunc) *BucketMigrator

func NewBucketMover added in v0.5.0

func NewBucketMover(source, destination db.Bucket) *BucketMigrator

func (*BucketMigrator) Before added in v0.5.0

func (m *BucketMigrator) Before(_ []byte) error

func (*BucketMigrator) Migrate added in v0.5.0

func (m *BucketMigrator) Migrate(_ context.Context, txn db.Transaction, network utils.Network) ([]byte, error)

func (*BucketMigrator) WithBatchSize added in v0.5.0

func (m *BucketMigrator) WithBatchSize(batchSize uint) *BucketMigrator

func (*BucketMigrator) WithBefore added in v0.5.0

func (m *BucketMigrator) WithBefore(before func()) *BucketMigrator

func (*BucketMigrator) WithKeyFilter added in v0.5.0

func (m *BucketMigrator) WithKeyFilter(keyFilter BucketMigratorKeyFilter) *BucketMigrator

type BucketMigratorDoFunc added in v0.5.0

type BucketMigratorDoFunc func(t db.Transaction, b1, b2 []byte, n utils.Network) error

type BucketMigratorKeyFilter added in v0.5.0

type BucketMigratorKeyFilter func([]byte) (bool, error)

type Migration added in v0.5.0

type Migration interface {
	Before(intermediateState []byte) error
	// Migration should return intermediate state whenever it requests new txn or detects cancelled ctx.
	Migrate(context.Context, db.Transaction, utils.Network) ([]byte, error)
}

type MigrationFunc added in v0.5.0

type MigrationFunc func(db.Transaction, utils.Network) error

func (MigrationFunc) Before added in v0.5.0

func (f MigrationFunc) Before(_ []byte) error

Before is a no-op.

func (MigrationFunc) Migrate added in v0.5.0

func (f MigrationFunc) Migrate(_ context.Context, txn db.Transaction, network utils.Network) ([]byte, error)

Migrate returns f(txn).

Jump to

Keyboard shortcuts

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