# Packages
Package builder provides a low level interface for defining un-versioned migrations based on a record transformation function.
Package datastore provides an abstraction on top of go-datastore that allows you to make a datastore that tracks its own version and knows how to migrate itself to the target version.
Package fsm provides an abstraction on top of the fsm's defined by go-statemachine that allows you to make a group of finite state machines that tracks their own version and know how to migrate themselves to the target version.
Package statestore provides an abstraction on top of go-statestore that allows you to make a StateStore that tracks its own version and knows how to migrate itself to the target version.
Package versioned provides an interface for defining versioned migrations -- migrations that move records from one versioned namespace to another withing go datastore.
# Constants
ErrContextCancelled means the context the migrations were run in was cancelled.
ErrMigrationsNotRun is run when ReadyError is called prior to running migrations.
# Interfaces
DatastoreMigration can run a migration of a datastore that is a table of one kind of structured data and write it to a table that is another kind of structured data.
MigrationFunc is a function to transform an single element of one type of data into a single element of another type of data.
MigrationState is an interface that returns the current state of migrations being run.
ReversableDatastoreMigration is.
ReversibleVersionedMigration is a migration that migrates data in a single database between versions, and can be reversed.
VersionedMigration is a migration that migrates data in a single database between versions.
# Type aliases
VersionedMigrationList is a sortable list of versioned migrations.
VersionKey is an identifier for a databased version.