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
- darwin/amd64
- Imports
- 6 packages
- Last checked
- 1 day ago –
Tools for package owners.