Analysis updated 2026-05-18
Switch a Go app between different databases without rewriting query code.
Use ORM-like objects instead of raw SQL strings in a Go application.
Try live code examples in the browser via the interactive tour before installing.
| upper/db | alexflint/gallium | doitintl/kube-no-trouble | |
|---|---|---|---|
| Stars | 3,659 | 3,659 | 3,662 |
| Language | Go | Go | Go |
| Setup difficulty | easy | hard | easy |
| Complexity | 3/5 | 4/5 | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
upper/db is a Go library that helps application code talk to databases without being tied to any specific one. It works with PostgreSQL, MySQL, Microsoft SQL Server, CockroachDB, MongoDB, SQLite, and a smaller database called QL. Rather than writing raw database queries for each project, developers use upper/db's shared interface and switch the underlying database by changing a single configuration detail. The library is described as a data access layer, which means it sits between the application and the database and handles the translation between Go data structures and database records. It includes features similar to what is often called an ORM (object-relational mapping), a style of database library that lets you work with records as plain objects in code rather than writing query strings manually. This approach can reduce the amount of repetitive database code a team needs to maintain. The README for this project is minimal and points readers to the project website at upper.io/v4 for full documentation and examples. There is also an interactive tour at tour.upper.io where visitors can run live code samples in the browser without installing anything. The library is released under the MIT license, which allows it to be used freely in both personal and commercial projects. This tool is aimed at Go developers who build applications that store and retrieve data from relational or document databases and want a consistent programming interface across those different systems.
A Go data access layer that lets apps work with Postgres, MySQL, MongoDB, and more through one consistent interface.
Mainly Go. The stack also includes Go, PostgreSQL, MySQL.
MIT license: free to use in personal and commercial projects with attribution preserved.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.