goose
badger
goose | badger | |
---|---|---|
28 | 30 | |
5,802 | 13,422 | |
6.3% | 1.1% | |
8.9 | 6.7 | |
3 days ago | 7 days ago | |
Go | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
goose
-
Recent improvements to the pressly/goose migration tool
In v3.16.0 we added a new Provider feature that unlocks the ability to implement a lot of highly requested features. More details in the blog post:
- How are y'all that are using raw sql doing DB Migrations?
- Why elixir over Golang
- Is there a similar tool or alternative in Go like strong_migrations?
-
How do you handle migrations ?
Next try https://github.com/pressly/goose We have this setup to be run by the CI-CD pipeline to be run before the application is started. BTW, this utility is compatible with https://sqlc.dev , so they work good together.
-
Does this project structure make sense?
For database migration I recommend https://github.com/pressly/goose As it works with sqlc and is a powerful tool for complex migrations. This is something a lot of ORMs are really weak with. I was on a large project with Gorm as the ORM and what a nightmare when we pushed to production!
- Are there any decent ORMs in Golang?
- Don't Mock the Database
-
Writing tests for APIs
goose https://github.com/pressly/goose - data migration and seed data creation
-
A beginner's guide to creating a web-app in Go using Ent
I'm using .sql migration files with tooling similar to https://github.com/pressly/goose . Is there a way to manage my schema with my pre-existing tooling and my queries/CRUD operations with Ent/Atlas?
badger
-
Anytype helper crashed
github.com/dgraph-io/badger/v3/table.OpenTable(0xc000bb4000, {0x0, 0x1, 0x200000, 0x0, 0x0, 0x3f847ae147ae147b, 0x1000, 0x0, 0x0, ...})
- What would be some database with extreme raw performance? (details in)
-
GORM
I' see that I'm also set to check out BadgerDB next. https://github.com/dgraph-io/badger
-
Polygon: Json Database System designed to run on small servers (as low as 16MB) and still be fast and flexible.
Some example of embeddable database could be genji, badger and boltdb
-
Butter from two CoWs: making a key-value store with btrfs
As I mentioned in a comment above you could probably just use AgageDb (Rust implementation of Badger which is a single file high performance KVP store. Turn off all of its built-in transactional behaviour and see how fast it runs on BTRFS using reflinks instead.
-
Building a Log-Structured Merge Tree in Go
Badger: Fast key-value DB in Go (GitHub)
-
Is there a nice embedded json db, like PoloDB (Rust) for Golang
I use Badger a lot, it doesn’t do much but it’s fast
- Best packages?
- What's the big deal about key-value databases like FoundationDB ands RocksDB?
-
badger VS ZoneTree - a user suggested alternative
2 projects | 22 Aug 2022
What are some alternatives?
migrate - Database migrations. CLI and Golang library.
goleveldb - LevelDB key/value database in Go.
dbmate - :rocket: A lightweight, framework-agnostic database migration tool.
buntdb - BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support
go-migrate - Abstract task migration tool written in Go for Golang services. Database and non database migration management brought to the CLI. [Moved to: https://github.com/g14a/metana]
bolt
liquibase - Main Liquibase Source
bbolt - An embedded key/value database for Go.
alembic - A database migrations tool for SQLAlchemy.
nutsdb - A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.
pig - Simple pgx wrapper to execute and scan query results
go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.