ecat-data-sqlx 5.0.0

SQLx multi-database client for e-cat
Documentation
[package]
name = "ecat-data-sqlx"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "SQLx multi-database client for e-cat"
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true

[dependencies]
ecat-data = { version = "5.0.0", path = "../ecat-data" }
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite", "postgres", "mysql", "time"] }
time = { workspace = true }
base64 = "0.22"
async-trait.workspace = true
serde.workspace = true
serde_json.workspace = true
ecat-tls = { version = "5.0.0", path = "../ecat-tls" }
# 三个可观测性依赖都是 optional:默认不把 axum(ecat-metrics/ecat-health 的依赖)
# 拖进核心依赖树。
ecat-metrics = { workspace = true, optional = true }
ecat-health = { workspace = true, optional = true }
ecat-tracing = { workspace = true, optional = true }
# 手写 Collector 要 prometheus 的 proto 类型;版本与 ecat-metrics 保持一致。
prometheus = { version = "0.13", optional = true }
tracing = { workspace = true, optional = true }

[features]
# 三个都默认关闭(spec:717-718)。
metrics = ["dep:ecat-metrics", "dep:prometheus"]
health = ["dep:ecat-health"]
tracing = ["dep:ecat-tracing", "dep:tracing"]

[dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt"] }
# 慢查询 warn 的捕获断言用(`MakeWriter`)。
tracing-subscriber = { workspace = true }