strut-database 0.0.2

A convenience layer around `sqlx` crate. Part of the Strut family.
Documentation
[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
#
[dependencies]
# Internal
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"] }

# External
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
#
[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"]

#
# FEATURE COMBINATIONS
#
[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"],
]

#
# RELEASE
#
[package.metadata.release]
release = true