README
¶
go-dbutil
Golang utilities for interacting with databases
Install
go get github.com/recursionpharma/go-dbutil
Usage
See also examples_test.go
.
Given a DB URL, connect to the DB
This is useful since sql.Open()
requires you to pass the driver in addition to the URL,
even though the driver is embedded in the URL.
import (
"os"
"fmt"
"github.com/recursionpharma/go-dbutil"
)
func main() {
db, err := dbutil.Connect("postgres://USER:PASSWORD@HOST:PORT/DBNAME")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(db != nil)
// Output: true
}
Extract the driver from a DB URL
import (
"os"
"fmt"
"github.com/recursionpharma/go-dbutil"
)
func main() {
driver, err := GetDriver("postgres://USER:PASSWORD@HOST:PORT/DBNAME")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(driver)
// Output: postgres
}
Directory Structure
code/go-dbutil/
|-- dbutil.go
| Code
|-- dbutil_test.go
| Tests
|-- examples_test.go
| Examples
|-- .gitignore
| Files git will ignore
|-- LICENSE
| MIT License
|-- README.md
| This file
`-- .travis.yml
Travis config
The above file tree was generated with tree -a -L 1 --charset ascii
.
Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Connect ¶
Connect connects to the database specified by the dbURL. It tests the connection by calling db.Ping().
Example ¶
Output: true
Types ¶
type SQLReadWriter ¶
type WrappedDB ¶
type WrappedDB interface { SQLReadWriter Beginx() (WrappedTx, error) Close() error OpenConnections() int }
func MustConnect ¶
type WrappedTx ¶
type WrappedTx interface { SQLReadWriter Commit() error Rollback() error }
Click to show internal directories.
Click to hide internal directories.