[workspace]
members = [".", "sea-query-spanner"]
[package]
name = "sea-orm-spanner"
description = "Google Cloud Spanner backend for SeaORM"
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.75"
repository = "https://github.com/jubilee-works/sea-orm-spanner"
keywords = ["spanner", "sea-orm", "orm", "database", "google-cloud"]
categories = ["database"]
exclude = [
"AGENTS.md",
".github/",
".cargo/",
"Makefile",
"sea-orm-spanner-plan.md",
"examples/",
"releases/",
"scripts/",
]
[lib]
name = "sea_orm_spanner"
path = "src/lib.rs"
[features]
default = [
"with-chrono",
"with-uuid",
"with-json",
"with-array",
"with-rust_decimal",
]
with-array = ["sea-query-spanner/with-array", "sea-orm/postgres-array"]
with-chrono = [
"sea-query-spanner/with-chrono",
"sea-orm/with-chrono",
"chrono",
"time",
]
with-uuid = ["sea-query-spanner/with-uuid", "sea-orm/with-uuid", "uuid"]
with-json = ["sea-query-spanner/with-json", "sea-orm/with-json", "serde_json"]
with-rust_decimal = [
"sea-query-spanner/with-rust_decimal",
"sea-orm/with-rust_decimal",
"rust_decimal",
]
macros = ["sea-orm/macros"]
runtime-tokio-native-tls = ["sea-orm/runtime-tokio-native-tls"]
runtime-tokio-rustls = ["sea-orm/runtime-tokio-rustls"]
runtime-async-std-native-tls = ["sea-orm/runtime-async-std-native-tls"]
runtime-async-std-rustls = ["sea-orm/runtime-async-std-rustls"]
[dependencies]
sea-orm = { version = "2.0.0-rc.37", default-features = false, features = [
"proxy",
] }
sea-query = { version = "1.0.0-rc.31", default-features = false }
sea-query-spanner = { version = "0.1.0", path = "sea-query-spanner" }
gcloud-spanner = "1.7.0"
gcloud-gax = { version = "1.3.2", default-features = false }
gcloud-googleapis = { version = "1.3.0", features = [
"spanner",
] }
prost-types = "0.14"
async-trait = "0.1"
tokio = { version = "1", features = ["full"] }
futures = "0.3"
tonic = "0.14"
chrono = { version = "0.4", features = ["serde"], optional = true }
time = { version = "0.3", optional = true }
uuid = { version = "1", features = ["v4", "serde"], optional = true }
rust_decimal = { version = "1", features = ["serde"], optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", optional = true }
rustls = { version = "0.23", features = ["aws_lc_rs"] }
thiserror = "2"
tracing = "0.1"
base64 = "0.13"
[dev-dependencies]
tokio-test = "0.4"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
gcloud-spanner = "1.7.0"
gcloud-googleapis = { version = "1.3.0", features = [
"spanner",
] }
sea-orm = { version = "2.0.0-rc.37", features = [
"proxy",
"macros",
"with-chrono",
"with-uuid",
"with-json",
"with-rust_decimal",
"postgres-array",
"runtime-tokio-native-tls",
] }
rust_decimal = { version = "1", features = ["serde"] }
rust_decimal_macros = "1"
serde_json = "1"
serial_test = "3.3.1"