var ( ErrNilConfig = fmt.Errorf("no config") ErrNoDatabaseName = fmt.Errorf("no database name") )
var DefaultLockTable = "schema_lock"
var DefaultMigrationsTable = "schema_migrations"
func WithInstance(instance *sql.DB, config *Config) (database.Driver, error)
type CockroachDb struct {
// contains filtered or unexported fields
}
func (c *CockroachDb) Close() error
func (c *CockroachDb) Drop() (err error)
func (c *CockroachDb) Lock() error
Locking is done manually with a separate lock table. Implementing advisory locks in CRDB is being discussed See: https://github.com/cockroachdb/cockroach/issues/13546
func (c *CockroachDb) Open(url string) (database.Driver, error)
func (c *CockroachDb) Run(migration io.Reader) error
func (c *CockroachDb) SetVersion(version int, dirty bool) error
func (c *CockroachDb) Unlock() error
Locking is done manually with a separate lock table. Implementing advisory locks in CRDB is being discussed See: https://github.com/cockroachdb/cockroach/issues/13546
func (c *CockroachDb) Version() (version int, dirty bool, err error)
type Config struct { MigrationsTable string LockTable string ForceLock bool DatabaseName string }