[package]
name = "queryweave-sql"
version = "0.2.0"
description = "The SQL runtime of queryweave: database-agnostic sqlx query building (WHERE, ORDER BY, LIMIT/OFFSET, SET) from the data queryweave's derives generate."
authors = ["Eduard Mihai Mitrică"]
license = "MIT OR Apache-2.0"
readme = "../README.md"
repository.workspace = true
keywords = ["sqlx", "sql", "filter", "pagination", "query"]
categories = ["database"]
edition.workspace = true
rust-version = "1.88"
[lints]
workspace = true
[dependencies]
queryweave = { path = "../queryweave", version = "0.2.0", default-features = false }
chrono = { workspace = true, optional = true }
sqlx = { workspace = true, optional = true }
sea-query = { workspace = true, optional = true, features = ["with-chrono"] }
diesel = { workspace = true, optional = true, features = ["chrono"] }
mutants.workspace = true
[features]
default = ["merge-patch", "sqlx"]
merge-patch = ["queryweave/merge-patch"]
sqlx = ["dep:sqlx", "dep:chrono"]
sea-query = ["dep:sea-query"]
diesel = ["dep:diesel", "dep:chrono"]
diesel-postgres = ["diesel", "diesel/postgres_backend"]
diesel-mysql = ["diesel", "diesel/mysql_backend"]
diesel-sqlite = ["diesel", "diesel/sqlite"]
[dev-dependencies]
chrono.workspace = true
rstest.workspace = true
pretty_assertions.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
sqlx = { workspace = true, features = ["runtime-tokio", "postgres", "mysql", "sqlite", "chrono"] }
testcontainers.workspace = true
trybuild.workspace = true
sea-query = { workspace = true, features = ["backend-postgres", "backend-mysql", "backend-sqlite", "with-chrono"] }
sea-query-sqlx = { workspace = true, features = ["sqlx-sqlite", "with-chrono"] }
diesel = { workspace = true, features = ["sqlite", "postgres_backend", "mysql_backend", "chrono"] }
libsqlite3-sys.workspace = true
diesel-async = { workspace = true, features = ["postgres", "mysql"] }
[[test]]
name = "sqlite"
required-features = ["sqlx"]
[[test]]
name = "postgres"
required-features = ["sqlx"]
[[test]]
name = "mysql"
required-features = ["sqlx"]
[[test]]
name = "sea_query_sqlite"
required-features = ["sea-query"]
[[test]]
name = "diesel_sqlite"
required-features = ["diesel-sqlite"]
[[test]]
name = "diesel_postgres"
required-features = ["diesel-postgres"]
[[test]]
name = "diesel_mysql"
required-features = ["diesel-mysql"]
[package.metadata.docs.rs]
all-features = true