rules_nixpkgs
SQLBoiler
rules_nixpkgs | SQLBoiler | |
---|---|---|
5 | 42 | |
264 | 6,441 | |
1.1% | 1.1% | |
9.0 | 7.7 | |
10 days ago | 12 days ago | |
Starlark | Go | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
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.
rules_nixpkgs
- Crafting container images without Dockerfiles
-
Our Roadmap for Nix
I have spent a little bit of time working on a prototype of a setup like this, and have needed to write a lot of (hacky) glue and BUILD files.
I take it you have departed quite a bit from https://github.com/tweag/rules_nixpkgs ? Are you generating BUILD.bazel files for nixpkgs, or are you doing that by hand?
-
nix-shell, but make it lovely
I'm a fan of Tweag's rules_nixpkgs for bazel: https://github.com/tweag/rules_nixpkgs
-
Bazel 5.0 LTS with the new external dependency subsystem "Bzlmod"
Check out rules_nixpkgs as another way to get hermetic python. It does require that you install Nix, but everything else is driven from the Bazel side. Works for us on Linux and macos.
-
We Went All in on Sqlc/Pgx for Postgres and Go
Cool, thanks for the link.
For what it's worth, we use rules_nixpkgs to source Postgres (for Linux and Darwin) as well as things such as C and Python toolchains, and it's been working really well. It does require that the machine have Nix installed, though, but that opens up access to Nix's wide array of prebuilt packages.
https://github.com/tweag/rules_nixpkgs
SQLBoiler
-
Go ORMs Compared
SQLBoiler takes a database-first approach, generating Go code from your database schema. This means it creates highly optimized and custom-tailored code for your specific database schema. SQLBoiler is great for applications where the database schema is well-defined and changes infrequently. However, like sqlc, it requires regenerating the code when the database schema changes. It's well-suited for projects where performance is a key concern and the database design is stable.
-
Comparing database/sql, GORM, sqlx, and sqlc
Moved all my projects to https://github.com/volatiletech/sqlboiler.
-
Are there any decent ORMs in Golang?
sqlboiler
-
Any mid sized / big open source code base in golang that makes use of SQL DBs?
My current ORM of choice is Bob [GitHub Link] which I created based on my experience using and maintaining SQLBoiler [GitHub Link].
-
GORM
You mean like ORMs? * sqlboiler: generates Go ORM using database schema.
-
ORM or no ORM (and which ones)?
SQL code generator (aka inspect a database or SQL files to generate data models). You have the option of using something like volatiletech/sqlboiler which looks at the a physical database and generates code based on the schema. Or SQLC which is an amazing and fast project.
-
Using Prisma Migrate with a Dockerized Postgres
After trying a half dozen migration engines for NodeJS, I was pleased to see Prisma and its excellent documentation. As a golang developer I am partial to SQLBoiler and its database-first approach, though perhaps this is a condition of our community where we want all the knobs. Prisma was code-first but still gave me enough control to feel confident.
-
Can anyone help me on how you are using golang with databases in production systems?
I use sqlboiler which generates an ORM from your database, and sql-migrate which is a tool for managing SQL migrations. Although you have to write your migrations in SQL, which IMHO is a plus.
- volatiletech/sqlboiler: Generate a Go ORM tailored to your database schema.
-
Go overtook Ruby and ranked #3 among the most used backend languages for pull requests since 2021
FWIW, the other posts point to https://gobuffalo.io/ and https://github.com/volatiletech/sqlboiler as possibilities.
What are some alternatives?
bazel-skylib - Common useful functions and rules for Bazel
GORM - The fantastic ORM library for Golang, aims to be developer friendly
pike - Generate CRUD gRPC backends from single YAML description.
sqlc - Generate type-safe code from SQL
ent - An entity framework for Go
goyesql - Parse SQL files with multiple named queries and automatically prepare and scan them into structs.
sqlx - general purpose extensions to golang's database/sql
sqlparser-rs - Extensible SQL Lexer and Parser for Rust
go-pg - Golang ORM with focus on PostgreSQL features and performance
flake-utils - Pure Nix flake utility functions [maintainer=@zimbatm]
upper.io/db - Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.