GORM VS Squirrel

Compare GORM vs Squirrel and see what are their differences.

GORM

The fantastic ORM library for Golang, aims to be developer friendly (by go-gorm)

Squirrel

Fluent SQL generation for golang (by Masterminds)
Our great sponsors
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • SaaSHub - Software Alternatives and Reviews
GORM Squirrel
20 9
25,575 4,261
2.3% 2.8%
9.2 2.5
6 days ago 14 days ago
Go Go
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

GORM

Posts with mentions or reviews of GORM. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-30.
  • Migrating from PHP to Go
    reddit.com/r/golang | 2021-09-30
    Do you like an ORM like eloquent for Laravel? Then I can recommend GORM https://gorm.io/
    reddit.com/r/golang | 2021-09-30
    Good ORM library: https://gorm.io/
  • 5chan - The 4chan clone
    dev.to | 2021-09-18
    GORM
  • How We Went All In on sqlc/pgx for Postgres + Go
    reddit.com/r/golang | 2021-09-09
    Well, if you look at Gorm's prepare_stmt.go you see that it is a thin wrapper around a database/sql.Stmt. And if you look at database/sql.Stmt you see that it's a sort of handle to an abstract entity that it creates in the database.
  • Go, Kafka and gRPC clean architecture CQRS microservices with Jaeger tracing 👋🧑‍💻
    dev.to | 2021-08-29
    Writer service consumes kafka topics, process messages writing to postgres and publishes successfully processed messages to kafka. For working with postgres in Go in my opinion the best choose is pgx, but if you need query builder very good library is squirrel, personally don't like orm's, but usually as have seen, teams often uses gorm, it's up to you. ProcessMessages method listening kafka topics and call specific method depends on topic:
  • What Knowledge Golang Back End Developer Should Have?
    reddit.com/r/golang | 2021-08-24
    gorm's performance I believe is fairly impressive at this point. While it was bad at first, they put a lot of effort in the v2 release to make it great. Check out: https://github.com/go-gorm/gorm/issues/3055
  • Read table from database without knowng its field in golang
    reddit.com/r/golang | 2021-08-08
    Sure. You can do this, but I would honestly recommend to only do this in test code, if at all. Otherwise, you should aim to keep types and by that the according API to interact with your DB schema static and consistent. An easy way to do this would be to use an object relational mapper (ORM) library like gorm.
  • What is the best solution to unique data in golang
    reddit.com/r/golang | 2021-08-05
    Once in sqlite you can use something like https://gorm.io/ (or use a golang sqlite package like: github.com/mattn/go-sqlite3) to work with the data.
  • Database for Go projects?
    reddit.com/r/golang | 2021-06-20
    If you and your team currently don't have any specific requirements, I'd advice to choose an abstraction library that have supports for most common dbs (eg. gorm or bun) and start with whatever db you are more used to.
  • Which is the best go web framework for creating a rest api 's backend ?
    reddit.com/r/golang | 2021-06-19
    DB abstractions: - gorm - go-pg - bun - sqlx

Squirrel

Posts with mentions or reviews of Squirrel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-30.
  • Migrating from PHP to Go
    reddit.com/r/golang | 2021-09-30
    SQL Generation: https://github.com/Masterminds/squirrel
  • bqb VS Squirrel - a user suggested alternative
    2021-09-09
    Squirrel is more structured than bqb, but has a much higher memory footprint. Overall I've found that bqb is just as pleasant to use as squirrel, and I usually use bqb for new projects due to it being lighter weight.
  • Go, Kafka and gRPC clean architecture CQRS microservices with Jaeger tracing 👋🧑‍💻
    dev.to | 2021-08-29
    Writer service consumes kafka topics, process messages writing to postgres and publishes successfully processed messages to kafka. For working with postgres in Go in my opinion the best choose is pgx, but if you need query builder very good library is squirrel, personally don't like orm's, but usually as have seen, teams often uses gorm, it's up to you. ProcessMessages method listening kafka topics and call specific method depends on topic:
  • SQL query builders
    dev.to | 2021-07-28
    Alternatively, when we're using an ORM or query builder (for Go, I like to use squirrel), adding the correct 'WHERE' and 'AND' terms is handled automatically. A small convenience that we could do ourselves, but then we'll find ourselves building our own in-house micro-query-builder.
  • Has anybody moved from Django (python) to any of the Go backend frameworks?
    reddit.com/r/golang | 2021-06-10
    No such library exists for Go unfortunately, though any query builder is better than an ORM - i.e. [Squirrel](https://github.com/Masterminds/squirrel).
  • what's your experience writing sql with go?
    reddit.com/r/golang | 2021-06-02
    For programatically built SQL statements, I like: https://github.com/Masterminds/squirrel
  • Microservices in Go: Accessing PostgreSQL - Statements Builder and Code generators
    dev.to | 2021-03-31
    Masterminds/squirrel is a package that allows you to generate SQL statements using a fluent API, it also supports making database calls directly using those built statements.
  • ORM FOR GO
    reddit.com/r/golang | 2021-03-17
    In that regard, I think https://github.com/Masterminds/squirrel is great.
  • Go Tool: (exploring) sqlc (Part 1)
    dev.to | 2021-02-15
    Masterminds/squirrel Fluent SQL generation for golang

What are some alternatives?

When comparing GORM and Squirrel you can also consider the following projects:

ent - An entity framework for Go

Xorm

go-pg - Golang ORM with focus on PostgreSQL features and performance

SQLBoiler - Generate a Go ORM tailored to your database schema.

beego orm

gorp - Go Relational Persistence - an ORM-ish library for Go

xorm - xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便。本库是基于原版xorm的定制增强版本,为xorm提供类似ibatis的配置文件及动态SQL支持,支持AcitveRecord操作

upper.io/db - Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features.

goqu - SQL builder and query library for golang

pop/soda - A Tasty Treat For All Your Database Needs

REL - :gem: Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API

reform - A better ORM for Go, based on non-empty interfaces and code generation.