22 lines
589 B
Go
22 lines
589 B
Go
package model
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
)
|
|
|
|
// DB represents a database with read/write separation and migration support
|
|
type DB interface {
|
|
// WriterDB returns the write database connection
|
|
WriterDB() *sql.DB
|
|
|
|
// ReaderDB returns the read database connection (may be same as writer)
|
|
ReaderDB() *sql.DB
|
|
|
|
// GetDatabaseSchemaVersion returns the current database schema version
|
|
GetDatabaseSchemaVersion(ctx context.Context) (string, error)
|
|
|
|
// SetDatabaseSchemaVersion sets the database schema version
|
|
SetDatabaseSchemaVersion(ctx context.Context, version string) error
|
|
}
|
|
|