[package]
name = "keelson-sqlx"
description = "The sqlx backend for keelson: pools, connections and transactions implementing keelson-exec's traits for PostgreSQL, MySQL and SQLite."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
readme = "README.md"
keywords = ["sql", "sqlx", "database", "postgres", "mysql"]
categories = ["database"]
[features]
psql = ["sqlx/postgres"]
mysql = ["sqlx/mysql"]
sqlite = ["sqlx/sqlite"]
chrono = ["keelson-core/chrono", "sqlx/chrono", "dep:chrono"]
uuid = ["keelson-core/uuid", "sqlx/uuid", "dep:uuid"]
decimal = ["keelson-core/decimal", "sqlx/rust_decimal", "dep:rust_decimal"]
json = ["keelson-core/json", "sqlx/json", "dep:serde_json"]
live-docker = ["psql", "mysql", "keelson-sqlcheck/live-docker"]
[dependencies]
keelson-core.workspace = true
keelson-exec.workspace = true
sqlx = { workspace = true }
tokio = { workspace = true, features = ["rt", "sync"] }
futures-util.workspace = true
chrono = { workspace = true, optional = true }
uuid = { workspace = true, optional = true }
rust_decimal = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
[dev-dependencies]
keelson-sqlx = { path = ".", features = ["sqlite", "chrono", "uuid", "decimal", "json"] }
keelson-sqlcheck = { path = "../keelson-sqlcheck" }
keelson-psql = { path = "../keelson-psql" }
keelson-mysql = { path = "../keelson-mysql" }
keelson-sqlite = { path = "../keelson-sqlite", features = ["macros"] }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
[package.metadata.docs.rs]
features = ["psql", "mysql", "sqlite", "chrono", "uuid", "decimal", "json"]
[lints]
workspace = true