[package]
name = "strut-database"
version = "0.0.2"
edition = "2024"
rust-version = "1.85.0"
authors = ["Erik Sargazakov <erik@serpnet.org>"]
license = "MIT"
documentation = "https://docs.rs/strut-database"
readme = "README.md"
repository = "https://github.com/strut-rs/strut"
homepage = "https://strut-rs.github.io"
description = "A convenience layer around `sqlx` crate. Part of the Strut family."
categories = ["asynchronous", "config", "rust-patterns", "database"]
keywords = ["component", "mysql", "postgresql", "sqlite", "connection"]
publish = true
[lib]
name = "strut_database"
[dependencies]
strut-factory = { path = "../strut_factory", version = "0.0.2" }
strut-deserialize = { path = "../strut_deserialize", version = "0.0.2" }
strut-sync = { path = "../strut_sync", version = "0.0.2" }
strut-core = { path = "../strut_core", version = "0.0.2" }
strut-util = { path = "../strut_util", version = "0.0.2", features = ["backoff"] }
sqlx = { workspace = true, features = ["runtime-tokio"] }
sqlx-core = { workspace = true, features = [] }
serde = { workspace = true, features = ["std", "derive"] }
serde-value = { workspace = true, features = [] }
log = { workspace = true, features = ["serde"] }
humantime = { workspace = true, features = [] }
tokio = { workspace = true, features = [] }
tracing = { workspace = true, features = [] }
[dev-dependencies]
pretty_assertions = { workspace = true }
serde_yml = { workspace = true }
[features]
mysql = ["sqlx/mysql"]
postgres = ["sqlx/postgres"]
sqlite = ["sqlx/sqlite"]
default-mysql = ["mysql"]
default-postgres = ["postgres"]
default-sqlite = ["sqlite"]
default = []
_probe = ["mysql", "postgres", "sqlite", "default-sqlite"]
[package.metadata.cargo-feature-combinations]
exclude_features = ["default", "_probe"]
isolated_feature_sets = [
["mysql", "postgres", "sqlite", "default-mysql"],
["mysql", "postgres", "sqlite", "default-postgres"],
["mysql", "postgres", "sqlite", "default-sqlite"],
]
[package.metadata.release]
release = true