ecat-data-sqlx 7.2.1

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 = "7.2.1", path = "../ecat-data" }
# tls-rustls-ring:MySQL/PostgreSQL 的 `ssl-mode=REQUIRED` 需要编译期 TLS 后端;
# 缺失时 sqlx 直接报「built without TLS support」,REQUIRED 真机门必挂(复用
# ecat-tls 已引入的 rustls 0.23 + ring,不新增 TLS 栈)。
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite", "postgres", "mysql", "time", "tls-rustls-ring"] }
time = { workspace = true }
base64 = "0.22"
async-trait.workspace = true
serde.workspace = true
serde_json.workspace = true
ecat-tls = { version = "7.2.1", 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 }
# 批次 5a 起四个 `ecat_rdbms_*` 家族由 ecat-metrics 的唯一 collector 输出,本 crate
# 已零 prometheus 引用(`metrics` feature 里的 `dep:prometheus` 同理)。依赖按计划
# 保留 —— 换注册方式之外不改 Cargo.toml,清理留给后续批次(版本与 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 }