[package]
name = "rat_quickdb"
version = "0.4.6"
edition = "2024"
authors = ["0ldm0s <oldmos@gmail.com>"]
description = "强大的跨数据库ODM库,支持自动索引创建、统一接口和现代异步架构"
license = "LGPL-3.0"
repository = "https://github.com/0ldm0s/rat_quickdb"
homepage = "https://github.com/0ldm0s/rat_quickdb"
documentation = "https://docs.rs/rat_quickdb"
readme = "README.md"
keywords = ["odm", "database", "async", "cross-database", "mongodb"]
categories = [
"database",
"asynchronous",
"web-programming",
"data-structures",
"development-tools::procedural-macro-helpers"
]
[dependencies]
rat_logger = "0.2.8"
rat_embed_lang = "0.1.1"
tokio = { version = "1.0", features = ["full"] }
futures = "0.3"
async-trait = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
thiserror = "1.0"
anyhow = "1.0"
crossbeam-queue = "0.3"
dashmap = "5.5"
parking_lot = "0.12"
arc-swap = "1.0"
once_cell = "1.0"
sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "sqlite", "chrono", "uuid", "json"], optional = true }
tokio-postgres = { version = "0.7", features = ["with-chrono-0_4", "with-serde_json-1", "with-uuid-1"], optional = true }
mysql_async = { version = "0.34", optional = true }
mongodb = { version = "2.8", optional = true }
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
urlencoding = "2.1"
regex = "1.0"
base64 = "0.22"
rand = "0.8"
bytes = "1.0"
rat_memcache = { version = "0.2.4", features = ["full-features"] }
snowflake = { version = "1.3" }
pyo3 = { version = "0.21.0", features = ["extension-module"], optional = true }
[lib]
name = "rat_quickdb"
crate-type = ["rlib"]
[features]
sqlite-support = ["sqlx"]
postgres-support = ["tokio-postgres", "sqlx/postgres"]
mysql-support = ["mysql_async", "sqlx/mysql"]
mongodb-support = ["dep:mongodb"]
melange-storage = []
python-bindings = ["pyo3"]
full = ["sqlite-support", "postgres-support", "mysql-support", "mongodb-support", "melange-storage"]
python-full = ["python-bindings", "full"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[package.metadata.playground]
features = ["full-features"]
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3.8"