Summary
This issue tracks the implementation of CockroachDB support for SeaORM.
CockroachDB is wire-compatible with PostgreSQL, so most functionality works with the existing sqlx-postgres driver. The main difference is schema generation: CockroachDB doesn't support PostgreSQL's SERIAL columns and requires GENERATED BY DEFAULT AS IDENTITY instead.
Related PRs
Implementation Status
SeaORM
SeaQuery
Feature Flags
| Package |
Feature |
Description |
| sea-orm |
cockroachdb |
Enable CockroachDB support |
| sea-orm |
cockroachdb-use-identity-pk |
Use IDENTITY columns for primary keys |
| sea-query |
backend-cockroach |
Enable CockroachDB backend |
| sea-query |
option-cockroachdb-use-identity |
Use IDENTITY columns (reserved) |
Usage Example
Cargo
# Cargo.toml
[dependencies]
sea-orm = { version = "2.0", features = ["cockroachdb", "runtime-tokio-native-tls"] }
Rust Code
let db: DbConn = sea_orm::Connect::connect("postgres://user:password@host:26257/database?sslmode=require")
.await?;
Summary
This issue tracks the implementation of CockroachDB support for SeaORM.
CockroachDB is wire-compatible with PostgreSQL, so most functionality works with the existing sqlx-postgres driver. The main difference is schema generation: CockroachDB doesn't support PostgreSQL's SERIAL columns and requires GENERATED BY DEFAULT AS IDENTITY instead.
Related PRs
Implementation Status
SeaORM
SeaQuery
Feature Flags
Usage Example
Cargo
Rust Code