Documentation
¶
Index ¶
- Constants
- Variables
- func WithInstance(instance *DB, config *Config) (database.Driver, error)
- type Config
- type DB
- type Spanner
- func (s *Spanner) Close() error
- func (s *Spanner) Drop() error
- func (s *Spanner) Lock() error
- func (s *Spanner) Open(url string) (database.Driver, error)
- func (s *Spanner) Run(migration io.Reader) error
- func (s *Spanner) SetVersion(version int, dirty bool) error
- func (s *Spanner) Unlock() error
- func (s *Spanner) Version() (version int, dirty bool, err error)
Constants ¶
View Source
const DefaultMigrationsTable = "SchemaMigrations"
DefaultMigrationsTable is used if no custom table is specified
Variables ¶
View Source
var ( ErrNilConfig = errors.New("no config") ErrNoDatabaseName = errors.New("no database name") ErrNoSchema = errors.New("no schema") ErrDatabaseDirty = errors.New("database is dirty") ErrLockHeld = errors.New("unable to obtain lock") ErrLockNotHeld = errors.New("unable to release already released lock") )
Driver errors
Functions ¶
Types ¶
type Config ¶
type Config struct {
MigrationsTable string
DatabaseName string
// Whether to parse the migration DDL with spansql before
// running them towards Spanner.
// Parsing outputs clean DDL statements such as reformatted
// and void of comments.
CleanStatements bool
}
Config used for a Spanner instance
type Spanner ¶
type Spanner struct {
// contains filtered or unexported fields
}
Spanner implements database.Driver for Google Cloud Spanner
func (*Spanner) Drop ¶
Drop implements database.Driver. Retrieves the database schema first and creates statements to drop the indexes and tables accordingly. Drop happens in the following order:
- Drop views
- Drop FK constraints
- Drop Indexes
- Drop tables
func (*Spanner) Lock ¶
Lock implements database.Driver but doesn't do anything because Spanner only enqueues the UpdateDatabaseDdlRequest.
func (*Spanner) SetVersion ¶
SetVersion implements database.Driver
Click to show internal directories.
Click to hide internal directories.