upper.io/db.v3
The upper.io/db.v3
package for Go is a productive data access layer for
Go that provides a common interface to work with different data sources such as
PostgreSQL,
MySQL, SQLite,
MSSQL,
QL and MongoDB.
go get upper.io/db.v3
The tour
Take the tour to see real live examples in your
browser.
Live demos
You can run the following example on our playground:
package main
import (
"log"
"upper.io/db.v3/postgresql"
)
var settings = postgresql.ConnectionURL{
Host: "demo.upper.io",
Database: "booktown",
User: "demouser",
Password: "demop4ss",
}
type Book struct {
ID int `db:"id"`
Title string `db:"title"`
AuthorID int `db:"author_id"`
SubjectID int `db:"subject_id"`
}
func main() {
sess, err := postgresql.Open(settings)
if err != nil {
log.Fatalf("db.Open(): %q\n", err)
}
defer sess.Close()
var books []Book
err = sess.Collection("books").Find().All(&books)
if err != nil {
log.Fatalf("Find(): %q\n", err)
}
for i, book := range books {
log.Printf("Book %d: %#v\n", i, book)
}
}
Or you can also run it locally from the _examples
directory:
go run _examples/booktown-books/main.go
2016/08/10 08:42:48 "The Shining" (ID: 7808)
2016/08/10 08:42:48 "Dune" (ID: 4513)
2016/08/10 08:42:48 "2001: A Space Odyssey" (ID: 4267)
2016/08/10 08:42:48 "The Cat in the Hat" (ID: 1608)
2016/08/10 08:42:48 "Bartholomew and the Oobleck" (ID: 1590)
2016/08/10 08:42:48 "Franklin in the Dark" (ID: 25908)
2016/08/10 08:42:48 "Goodnight Moon" (ID: 1501)
2016/08/10 08:42:48 "Little Women" (ID: 190)
2016/08/10 08:42:48 "The Velveteen Rabbit" (ID: 1234)
2016/08/10 08:42:48 "Dynamic Anatomy" (ID: 2038)
2016/08/10 08:42:48 "The Tell-Tale Heart" (ID: 156)
2016/08/10 08:42:48 "Programming Python" (ID: 41473)
2016/08/10 08:42:48 "Learning Python" (ID: 41477)
2016/08/10 08:42:48 "Perl Cookbook" (ID: 41478)
2016/08/10 08:42:48 "Practical PostgreSQL" (ID: 41472)
Documentation for users
This is the source code repository, check out our release
notes and see examples and
documentation at upper.io/db.v3.
Changelog
See CHANGELOG.md.
License
Licensed under MIT License
Authors and contributors