Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
upper.io/db
Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
One of the things I remember was differences in NULL/empty handling of SQL values between Python (Peewee) and Go. I didn't use an ORM on the Go side, just straight database/sql. If doing it again today I'd probably still avoid an ORM in Go, but I might use sqlx as it makes unpacking into structs much simpler.
No such library exists for Go unfortunately, though any query builder is better than an ORM - i.e. [Squirrel](https://github.com/Masterminds/squirrel).
You can get the static type benefit of an ORM without the ORM in Go if you use https://sqlc.dev.
Consider SQL Boiler because it can integrate directly with an existing database.
So far, I've enjoyed using https://github.com/upper/db for raw query building.
https://gobuffalo.io/ is a full featured web framework that the OP might be interested in