pggen
xo
Our great sponsors
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.
pggen
-
We Went All in on Sqlc/Pgx for Postgres and Go
If you want a code generator like this that has support for that kind of thing, https://github.com/opendoor/pggen can automatically infer these kinds of relationships based on foreign key relationships and emit slices of pointers to connect the records together in memory. It can even figure out 1-1 relationships if there is a UNIQUE index on the foreign key. There is a little mini-DSL for specifying exactly how much of the transitive closure of a given record you want to get filled in for you.
xo
-
Open-sourcing SQX, a way to build flexible database models in Go
i like xo's approach https://github.com/xo/xo but it is as is. I would love if something similar comes along that is used by db practititoners that is actively used and supported.
- PHP to Golang
-
Best sqlc alternative for dynamic queries?
I use xo https://github.com/xo/xo . It generates CRUD queries by default so i don't have to write basic queries and it has option to write complex queries like sqlx. Only issue is it is not well documented.
-
Why SQL is right for Infrastructure Management
SQL is an old, irregular language to work with, but it is better known than HCL and SQL already has it's own Pulumi/CDK in the form of every ORM with introspection (like Javascript's Prisma, Python's Django, Go's XO etc) and QueryBuilder (LINQ, Knex, etc) in whatever programming language you prefer. You probably already know it.
-
Help with XO's new templating, how to access fields and params
I am using the library xo to generate basic data retrieval code from a sql schema for a crud api.
-
Matt Mueller: Building Modern Web Applications Faster With Bud
Sorry for the confusion, we're not generating the database client itself, more like generating an ORM around a database client. The ORM takes these database clients as dependencies. It's very similar to the way XO works with it's multi-database support: https://github.com/xo/xo/tree/master/_examples/northwind
-
What’s your preferred setup to work with SQL DB (without ORM) ?
i use xo . Reason is i prefer designing schema first and creating golang scaffolding later. Xo takes schema and gives me basic create/update/delete operations by default and i can also generate gocode for any sql queries that i write.
- Show HN: A Go framework for your projects
-
sqlc: Generating go code from sql statements
Thanks for sharing your thoughts! I see that it works best with Postgresql. The other commenter mentioned https://github.com/xo/xo for MySql which might work well.
-
Show HN: A Full-Stack Web Framework Written in Go
Thanks for your comment and question @onionisfruit. Top-notch handle too!
>> What are your plans for models and persistence?
I haven't worked out all the details, but it's going to be some blend of https://github.com/xo/xo and https://sqlc.dev/.
Design goals:
1. High-level, type-safe "ORM" that's generated from your database schema.
What are some alternatives?
pggen - Generate type-safe Go for any Postgres query. If Postgres can run the query, pggen can generate code for it.
sqlc - Generate type-safe code from SQL
sqlparser-rs - Extensible SQL Lexer and Parser for Rust
igor - igor is an abstraction layer for PostgreSQL with a gorm like syntax.
goqu - SQL builder and query library for golang
SQLBoiler - Generate a Go ORM tailored to your database schema.
sqlite
prometheus - The Prometheus monitoring system and time series database.
gnorm - A database-first code generator for any language
BTrDB - Berkeley Tree Database (BTrDB) server
proteus - A simple tool for generating an application's data access layer.
dat - Go Postgres Data Access Toolkit