var ( DefaultMigrationsTable = "schema_migrations" DefaultMultiStatementMaxSize = 10 * 1 << 20 // 10 MB )
var ( ErrNilConfig = fmt.Errorf("no config") ErrNoDatabaseName = fmt.Errorf("no database name") ErrNoSchema = fmt.Errorf("no schema") ErrDatabaseDirty = fmt.Errorf("database is dirty") )
func WithInstance(instance *sql.DB, config *Config) (database.Driver, error)
type Config struct { MigrationsTable string MigrationsTableQuoted bool MultiStatementEnabled bool DatabaseName string SchemaName string StatementTimeout time.Duration MultiStatementMaxSize int // contains filtered or unexported fields }
type Postgres struct {
// contains filtered or unexported fields
}
func (p *Postgres) Close() error
func (p *Postgres) Drop() (err error)
func (p *Postgres) Lock() error
https://www.postgresql.org/docs/9.6/static/explicit-locking.html#ADVISORY-LOCKS
func (p *Postgres) Open(url string) (database.Driver, error)
func (p *Postgres) Run(migration io.Reader) error
func (p *Postgres) SetVersion(version int, dirty bool) error
func (p *Postgres) Unlock() error
func (p *Postgres) Version() (version int, dirty bool, err error)