upper/db

Data Access Layer (DAL) for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on September 19th, 2026
Created on October 23rd, 2013
Open Issues & Pull Requests: 165 (+0)
GitHub issues: Enabled
Number of forks: 236
Total Stargazers: 3,656 (+0)
Total Subscribers: 53 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.9 days
Mean response time: 26.4 days
90th percentile: 109.6 days
Tracked items: 8

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 10
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 563 days
Stale 30+ days: 10
Stale 90+ days: 10

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • unconfirmed (2)
  • v4 (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

upper/db is a data access layer for Go that provides a unified interface for working with multiple database systems including PostgreSQL, CockroachDB, MySQL, SQLite, and MongoDB.

The tool solves the problem of writing database-agnostic code by offering a consistent API across different data sources. Rather than learning separate query patterns for each database, developers write code once using upper/db's abstraction layer, which handles the differences between SQL and NoSQL systems internally. The layer supports both relational databases and MongoDB, allowing teams to switch backends or support multiple databases without rewriting application logic.

Developers should consider upper/db when building applications that need to support multiple database systems or when they want to avoid vendor lock-in to a specific database. It suits projects where database portability matters or where the choice of backend might change during development. The tool is particularly useful for teams that want ORM-like features without committing to a heavyweight framework. The README does not name competing alternatives, so no comparison is possible.

The project maintains active unit test coverage with automated testing on each change. Development activity shows consistent engagement with the codebase through regular updates and maintenance of the multiple database adapters.