CockroachDB driver for SQLBoiler — generates type-safe Go ORM code from your CockroachDB schema.
Fork of glerchundi/sqlboiler-crdb with enum support, SSL certificates, and updated dependencies.
go install github.com/realLifeGlobal/sqlboiler-crdb/v4@latestThen generate your models:
sqlboiler crdbAdd a [crdb] section to your sqlboiler.toml:
[crdb]
user = "root"
pass = ""
host = "localhost"
port = 26257
dbname = "mydatabase"
sslmode = "disable"For clusters requiring certificate-based authentication:
[crdb]
user = "myuser"
pass = "mypassword"
host = "localhost"
port = 26257
dbname = "mydatabase"
sslmode = "verify-full"
sslrootcert = "/path/to/certs/ca.crt"
sslcert = "/path/to/certs/client.myuser.crt"
sslkey = "/path/to/certs/client.myuser.key"You can also use sslmode = "require" with just user/password (no cert files) for password-based auth over TLS.
CockroachDB user-defined enum types are automatically detected and mapped to the format that SQLBoiler's randomize package understands. This means generated tests will use valid enum values instead of random strings.
To generate Go enum types, add:
[crdb]
add-enum-types = true # generate Go enum types (default: false)
enum-null-prefix = "Null" # prefix for nullable enum types (default: "Null")Without add-enum-types, enum columns are mapped to string / null.String — but with correct randomization values, so tests pass either way.
- Enum type support — User-defined CockroachDB enums (
CREATE TYPE ... AS ENUM) are detected viapg_type/pg_enumand mapped correctly, eliminating"Unhandled data type"warnings and test failures with"invalid input value for enum" - SSL certificate support —
sslrootcert,sslcert, andsslkeyconfig options for secure CockroachDB clusters (upstream #50) - Migrated to
aarondl/*— Updated fromvolatiletech/*toaarondl/*packages following SQLBoiler's maintenance migration - SQL-based test schema cloning — Replaced deprecated
cockroach dumpwith SQL queries for test database setup, compatible with modern CockroachDB versions --versionflag —sqlboiler-crdb --versionprints the build version
sqlboiler-crdb --version