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 = fmt.Errorf("no config") ErrNoDatabaseName = fmt.Errorf("no database name") ErrNoSchema = fmt.Errorf("no schema") ErrDatabaseDirty = fmt.Errorf("database is dirty") )
Driver errors
Functions ¶
Types ¶
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. Note: The drop statements are created in reverse order to how they're provided in the schema. Assuming the schema describes how the database can be "build up", it seems logical to "unbuild" the database simply by going the opposite direction. More testing
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.