Live data from Hacker News

Open-sourcing SQX, a way to build flexible database models in Go

stytch.com

1–10 of 28 posts

Re: Open-sourcing SQX, a way to build flexible database models in Go

#3
This looks interesting. The only db libraries I can stand are sql query builders. I have experienced way too much pain with orms over the years. They work until you have to do anything slightly complicated and they either get very difficult to use or very slow

Re: Open-sourcing SQX, a way to build flexible database models in Go

#4

This looks interesting. The only db libraries I can stand are sql query builders. I have experienced way too much pain with orms over the years. They work until you have to do anything slightly complicated and they either get very difficult to use or very slow

It's easy to drop down to pure SQL in every ORM I've ever used. Meanwhile, a good ORM gives you type safe queries, and saves from having to write boilerplate for trivial CRUD.

I honestly would like to know which ORMs most critics have experience with. If it's something terrible like Hibernate, then no wonder. For reference, the ORM I've used the most is Entity Framework (the new one, rewritten for NET Core), and it's simply wonderful for 90%+ of my work, and doesn't get in the way for the rest of it.

Re: Open-sourcing SQX, a way to build flexible database models in Go

#5

This looks interesting. The only db libraries I can stand are sql query builders. I have experienced way too much pain with orms over the years. They work until you have to do anything slightly complicated and they either get very difficult to use or very slow

It's easy to drop down to pure SQL in every ORM I've ever used. Meanwhile, a good ORM gives you type safe queries, and saves from having to write boilerplate for trivial CRUD. I honestly would like to know which ORMs most critics have experience with. If it's something terrible like Hibernate, then no wonder. For reference, the ORM I've used the most is Entity Framework (the new one, rewritten for NET Core), and it's…

Type safe sql is a feature of most every production quality db library I’ve used going back 20 years. You don’t need the complexity of an orm to get that.

As for trivial boilerplate, I tend to find that trivial boilerplate no more troubling than any of the other compromises orms require, whether that’s polluting my data model with sql concerns or making me conform to db practices that aren’t correct for my needs.

And I’ve got extensive experience with orm going back a long time, including Entity Framework (which is a good orm that I’d still prefer not to use).

Re: Open-sourcing SQX, a way to build flexible database models in Go

#6
This does look like it's a little bit better than a lot of the other options in the Go ecosystem for database access, but this introduction misses something important: what SQL dialects does this support? It appears to be partly a wrapper around Squirrel. Squirrel is not new (and apparently also no longer being updated) but I actually have no idea which and how much of each SQL dialect Squirrel supports.

Every time I see SQL and Go stuff, I feel literally obligated to introduce people to sqlc. That said, sqlc only has good support for PostgreSQL, and you'd have to generate code for each dialect... so that's something worth considering. (I still find it to be one of my favorite SQL tools, even with its issues.)

https://sqlc.dev/

Re: Open-sourcing SQX, a way to build flexible database models in Go

#9

This looks interesting. The only db libraries I can stand are sql query builders. I have experienced way too much pain with orms over the years. They work until you have to do anything slightly complicated and they either get very difficult to use or very slow

Ecto strikes the perfect balance IMO

https://hexdocs.pm/ecto/Ecto.Query.html

Post reply on HN