# Constants
AdminRole is an administrator (super user) role which may be used for creation of other roles, granting them relevant privileges, or creation of empty schema.
NormalRole is a normal (unprivilged) role which is used for all common operations, including creation of tables in existing schema and filling them during the migration use cases and also database changes (for the latest schema version only) during the non-migration use cases.
# Interfaces
Cars interface represents an example repository for management of the car instances.
CarsConnQueryer interface lists all operations which may be executed in a Cars repository having an open connection with auto-committed transactions.
CarsQueryer interface lists common operations which may be executed in a Cars repository having either a connection or transaction at hand.
CarsTxQueryer interface lists all operations which may be executed in a Cars repository having an ongoing transaction.
Conn represents a database connection.
DownMigrator of S interface specifies the downwards migrator objects requirements for a resource with S settler type.
Migrator of S is the core migration interface which defines how a semantically versioned resource may be migrated from a S1.S2.S3 source version to a D1.D2.D3 destination version.
Pool represents a database connection pool.
Queryer interface includes methods for running SQL statements.
Rows represents the result set of an executed query.
Schema interface presents expectations from a repository which allows database schema and roles management.
SchemaConnQueryer interface lists all operations which may be taken with regards to database schema having an open connection with the auto-committed transactions.
SchemaInitializer interface is exposed by each schema version implementation.
SchemaQueryer interface lists common operations which may be taken with regards to database schema having either a connection or open transaction at hand.
SchemaSettler interface specifies the expectations from the settler objects for a database schema migration operation.
SchemaTxQueryer interface lists all operations which may be taken with regards to database schema having an ongoing transaction.
SettingsPersister interface specifies that how mutable settings may be persisted in a database, after being serialized as a byte slice.
Settler of S interface specifies the migration settler objects requirements for a resource with S settler type.
Tx represents a database transaction.
UpMigrator of S interface specifies the upwards migrator objects requirements for a resource with S settler type.
# Type aliases
ConnHandler is a handler function which takes a context and a database connection which should be used solely from the current goroutine (or by proper synchronization).
Role is a string specifying a database connection role.
TxHandler is a handler function which takes a context and an ongoing transaction.