package drivers
import "zgo.at/zdb/drivers"
Index ¶
Functions ¶
func RegisterDriver ¶
func RegisterDriver(d Driver)
RegisterDriver registers a new Driver.
func Test ¶
func Test() func()
TODO: temporarily.
Types ¶
type Driver ¶
type Driver interface {
// Name of this driver.
Name() string
// SQL dialect for the database engine; "sqlite", "postgresql", or "mysql".
Dialect() string
// Connect to the database with the given connect string, which has
// everything before the "+" removed.
//
// If create is true, it should attempt to create the database if it doesn't
// exist.
//
// It may optionally return a driverConn, for example *pgxpool.Pool. This
// can be nil.
Connect(ctx context.Context, connect string, create bool) (db *sql.DB, driverConn any, err error)
// ErrUnique reports if this error reports a UNIQUE constraint violation.
ErrUnique(error) bool
// Start a new test. This is expected to set up a temporary database which
// is cleaned at the end.
StartTest(*testing.T, *TestOptions) context.Context
}
Driver for a SQL connection.
func Drivers ¶
func Drivers() []Driver
Drivers returns a list of currently registered drivers.
type NotExistError ¶
type NotExistError struct {
Driver string // Driver name
DB string // Database name
Connect string // Full connect string
}
NotExistError is returned by a driver when a database doesn't exist and Create is false in the connection arguments.
func (NotExistError) Error ¶
func (err NotExistError) Error() string
type TestOptions ¶
type TestOptions struct {
Connect string
Files fs.FS
GoMigrations map[string]func(context.Context) error
}
TestOptions are options to pass to zdb.Connect() in the StartTest() method.
This needs to be a new type to avoid import cycles.
Source Files ¶
drivers.go
Directories ¶
| Path | Synopsis |
|---|---|
| drivers/go-sqlite3 | Package sqlite3 provides a zdb driver for SQLite. |
| drivers/mariadb | Package mariadb provides a zdb driver for MariaDB. |
| drivers/pgx | Package pgx provides a zdb driver for PostgreSQL. |
| drivers/pq | Package pq provides a zdb driver for PostgreSQL. |
| drivers/test |
- Version
- v0.0.0-20250411114835-98f201430043 (latest)
- Published
- Apr 11, 2025
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 9 months ago –
Tools for package owners.