bun
goose
bun | goose | |
---|---|---|
18 | 28 | |
3,149 | 5,684 | |
7.7% | 4.4% | |
7.9 | 8.9 | |
7 days ago | 4 days ago | |
Go | Go | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 or later |
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.
bun
-
ORM or no ORM (and which ones)?
This way: https://github.com/uptrace/bun, I prefer in all cases with PostgreSQL
- When creating an API (or even a website) what's the best practice of initializing a database connection and using it across the application where it's necessary?
-
Best packages?
https://github.com/uptrace/bun For SQL building.
-
Which ORM framework are you using with golang, and why?
I use Bun by Uptrace - https://github.com/uptrace/bun
-
What’s your preferred setup to work with SQL DB (without ORM) ?
Though, i've would give a try to bun
-
What SQL library are you using?
Bun would be my choice, it spans a nice gap between full ORM and query builder - https://github.com/uptrace/bun
- Bun – SQL-first Golang ORM for PostgreSQL, MySQL, mssql, and SQLite
-
Bun: SQL-first Golang ORM
To get started, see the documentation and run examples.
-
SQL Query Strategy for complex structs
bun and go-pg both seem to work fairly well for these kind of purposes.
- Bun v1.1 SQL client adds supports for MSSQL
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?
What are some alternatives?
GORM - The fantastic ORM library for Golang, aims to be developer friendly
migrate - Database migrations. CLI and Golang library.
ent - An entity framework for Go
dbmate - :rocket: A lightweight, framework-agnostic database migration tool.
go-pg - Golang ORM with focus on PostgreSQL features and performance
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]
sqlc - Generate type-safe code from SQL
liquibase - Main Liquibase Source
prisma-client-go - Prisma Client Go is an auto-generated and fully type-safe database client
alembic - A database migrations tool for SQLAlchemy.
Squirrel - Fluent SQL generation for golang
pig - Simple pgx wrapper to execute and scan query results