// the find
gohouse/gorose
GoRose(go orm), a mini database ORM for golang, which inspired by the famous php framwork laravle's eloquent. It will be friendly for php developer and python or ruby developer. Currently provides six major database drivers: mysql,sqlite3,postgres,oracle,mssql, Clickhouse.
GoRose is a Go ORM that ports Laravel's Eloquent/Query Builder API to Go, offering both a struct-based Go style and a map-based PHP-style fluent interface. It supports MySQL, SQLite3, PostgreSQL, MSSQL, Oracle, and ClickHouse. The target audience is PHP developers moving to Go who want familiar query-builder syntax rather than learning idiomatic Go data access patterns.
The Laravel API parity is genuinely thorough — the checklist covers the full query builder surface including CTEs, unions, upserts, shared locks, and nested wheres. Nested and savepoint transactions are handled cleanly, with automatic savepoints for subtransactions being a real convenience. The dual-mode design (struct binding vs. map/fluent) is a reasonable tradeoff that lets you choose based on whether you have a typed model or not. Read/write cluster splitting with automatic write-side reads inside transactions is built in at the config level, not bolted on.
V3 is still in beta with no tagged releases — you have to pin to master in go.mod, which is a non-starter for production use. The README is almost entirely in Chinese, which is a hard barrier for non-Chinese developers despite the project claiming to target PHP/Python/Ruby migrants broadly. Zero values as implicit WHERE conditions (the `To` style) is a footgun: a `User{Id: 0}` will silently query without a primary key filter rather than erroring, and the workaround (passing extra field names) is easy to forget. No mention of schema migration support, so you're pairing this with a separate tool; and there's no query logging hook beyond slog debug level, meaning you can't easily plug in custom observability.