[package]
edition = "2024"
name = "rat_quickdb"
version = "0.5.2"
authors = ["0ldm0s <oldmos@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "强大的跨数据库ODM库,支持自动索引创建、统一接口和现代异步架构"
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",
]
license = "LGPL-3.0"
repository = "https://github.com/0ldm0s/rat_quickdb"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.playground]
features = ["full-features"]
[features]
full = [
"sqlite-support",
"postgres-support",
"mysql-support",
"mongodb-support",
"melange-storage",
]
melange-storage = []
mongodb-support = ["dep:mongodb"]
mysql-support = [
"mysql_async",
"sqlx/mysql",
]
postgres-support = [
"tokio-postgres",
"sqlx/postgres",
]
sqlite-support = ["sqlx"]
[lib]
name = "rat_quickdb"
crate-type = ["rlib"]
path = "src/lib.rs"
[[example]]
name = "cache_bypass_comparison_mongodb"
path = "examples/cache_bypass_comparison_mongodb.rs"
[[example]]
name = "cache_bypass_comparison_mysql"
path = "examples/cache_bypass_comparison_mysql.rs"
[[example]]
name = "cache_bypass_comparison_pgsql"
path = "examples/cache_bypass_comparison_pgsql.rs"
[[example]]
name = "cache_bypass_comparison_sqlite"
path = "examples/cache_bypass_comparison_sqlite.rs"
[[example]]
name = "cache_performance_comparison"
path = "examples/cache_performance_comparison.rs"
[[example]]
name = "cache_performance_comparison_mongodb"
path = "examples/cache_performance_comparison_mongodb.rs"
[[example]]
name = "cache_performance_comparison_mysql"
path = "examples/cache_performance_comparison_mysql.rs"
[[example]]
name = "cache_performance_comparison_pgsql"
path = "examples/cache_performance_comparison_pgsql.rs"
[[example]]
name = "field_types_test_pgsql"
path = "examples/field_types_test_pgsql.rs"
[[example]]
name = "field_types_test_sqlite"
path = "examples/field_types_test_sqlite.rs"
[[example]]
name = "find_array_comparison"
path = "examples/find_array_comparison.rs"
[[example]]
name = "id_strategy_test"
path = "examples/id_strategy_test.rs"
[[example]]
name = "id_strategy_test_mongodb"
path = "examples/id_strategy_test_mongodb.rs"
[[example]]
name = "id_strategy_test_mysql"
path = "examples/id_strategy_test_mysql.rs"
[[example]]
name = "id_strategy_test_pgsql"
path = "examples/id_strategy_test_pgsql.rs"
[[example]]
name = "join_macro_database_alias_demo"
path = "examples/join_macro_database_alias_demo.rs"
[[example]]
name = "json_field_array_test"
path = "examples/json_field_array_test.rs"
[[example]]
name = "json_field_array_test_pgsql"
path = "examples/json_field_array_test_pgsql.rs"
[[example]]
name = "manual_table_management"
path = "examples/manual_table_management.rs"
[[example]]
name = "manual_table_management_mongodb"
path = "examples/manual_table_management_mongodb.rs"
[[example]]
name = "manual_table_management_mysql"
path = "examples/manual_table_management_mysql.rs"
[[example]]
name = "manual_table_management_pgsql"
path = "examples/manual_table_management_pgsql.rs"
[[example]]
name = "model_operations_mongodb"
path = "examples/model_operations_mongodb.rs"
[[example]]
name = "model_operations_mongodb_id_test"
path = "examples/model_operations_mongodb_id_test.rs"
[[example]]
name = "model_operations_mysql"
path = "examples/model_operations_mysql.rs"
[[example]]
name = "model_operations_pgsql"
path = "examples/model_operations_pgsql.rs"
[[example]]
name = "model_operations_sqlite"
path = "examples/model_operations_sqlite.rs"
[[example]]
name = "poc_string_to_type"
path = "examples/poc_string_to_type.rs"
[[example]]
name = "postgres_uuid_conversion_test"
path = "examples/postgres_uuid_conversion_test.rs"
[[example]]
name = "query_operations_mongodb"
path = "examples/query_operations_mongodb.rs"
[[example]]
name = "query_operations_mysql"
path = "examples/query_operations_mysql.rs"
[[example]]
name = "query_operations_pgsql"
path = "examples/query_operations_pgsql.rs"
[[example]]
name = "query_operations_sqlite"
path = "examples/query_operations_sqlite.rs"
[[example]]
name = "test_array_in_query_mongodb"
path = "examples/test_array_in_query_mongodb.rs"
[[example]]
name = "test_array_in_query_mysql"
path = "examples/test_array_in_query_mysql.rs"
[[example]]
name = "test_array_in_query_pgsql"
path = "examples/test_array_in_query_pgsql.rs"
[[example]]
name = "test_array_in_query_sqlite"
path = "examples/test_array_in_query_sqlite.rs"
[[example]]
name = "test_array_serialization"
path = "examples/test_array_serialization.rs"
[[example]]
name = "test_complex_join"
path = "examples/test_complex_join.rs"
[[example]]
name = "test_database_type_safety"
path = "examples/test_database_type_safety.rs"
[[example]]
name = "test_datetime_range_query"
path = "examples/test_datetime_range_query.rs"
[[example]]
name = "test_datetime_string_input"
path = "examples/test_datetime_string_input.rs"
[[example]]
name = "test_datetime_with_tz_field"
path = "examples/test_datetime_with_tz_field.rs"
[[example]]
name = "test_datetime_with_tz_field_mongodb"
path = "examples/test_datetime_with_tz_field_mongodb.rs"
[[example]]
name = "test_datetime_with_tz_field_mysql"
path = "examples/test_datetime_with_tz_field_mysql.rs"
[[example]]
name = "test_datetime_with_tz_field_pgsql"
path = "examples/test_datetime_with_tz_field_pgsql.rs"
[[example]]
name = "test_db_timestamp"
path = "examples/test_db_timestamp.rs"
[[example]]
name = "test_global_lock"
path = "examples/test_global_lock.rs"
[[example]]
name = "test_i18n_errors"
path = "examples/test_i18n_errors.rs"
[[example]]
name = "test_join_macro"
path = "examples/test_join_macro.rs"
[[example]]
name = "test_json_contains_query_mongodb"
path = "examples/test_json_contains_query_mongodb.rs"
[[example]]
name = "test_json_contains_query_pgsql"
path = "examples/test_json_contains_query_pgsql.rs"
[[example]]
name = "test_model_database_alias"
path = "examples/test_model_database_alias.rs"
[[example]]
name = "test_mongo_join"
path = "examples/test_mongo_join.rs"
[[example]]
name = "test_mongodb_table_creation"
path = "examples/test_mongodb_table_creation.rs"
[[example]]
name = "test_stored_procedure"
path = "examples/test_stored_procedure.rs"
[[example]]
name = "test_stored_procedure_mongodb"
path = "examples/test_stored_procedure_mongodb.rs"
[[example]]
name = "test_stored_procedure_mysql"
path = "examples/test_stored_procedure_mysql.rs"
[[example]]
name = "test_stored_procedure_postgres"
path = "examples/test_stored_procedure_postgres.rs"
[[example]]
name = "test_string_datetime_query"
path = "examples/test_string_datetime_query.rs"
[[example]]
name = "test_timezone_conversion"
path = "examples/test_timezone_conversion.rs"
[[example]]
name = "timezone_complex_query_demo"
path = "examples/timezone_complex_query_demo.rs"
[[example]]
name = "timezone_complex_query_demo_pgsql"
path = "examples/timezone_complex_query_demo_pgsql.rs"
[[example]]
name = "timezone_range_query_demo_sqlite"
path = "examples/timezone_range_query_demo_sqlite.rs"
[[test]]
name = "basic_test"
path = "tests/basic_test.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.arc-swap]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.0"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.crossbeam-queue]
version = "0.3"
[dependencies.dashmap]
version = "5.5"
[dependencies.futures]
version = "0.3"
[dependencies.mongodb]
version = "2.8"
optional = true
[dependencies.mysql_async]
version = "0.34"
optional = true
[dependencies.once_cell]
version = "1.0"
[dependencies.parking_lot]
version = "0.12"
[dependencies.rand]
version = "0.8"
[dependencies.rat_embed_lang]
version = "0.1.1"
[dependencies.rat_logger]
version = "0.3"
[dependencies.rat_memcache]
version = "0.2.8"
features = ["full-features"]
[dependencies.regex]
version = "1.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.snowflake]
version = "1.3"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
"json",
]
optional = true
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = ["full"]
[dependencies.tokio-postgres]
version = "0.7"
features = [
"with-chrono-0_4",
"with-serde_json-1",
"with-uuid-1",
]
optional = true
[dependencies.toml]
version = "0.8"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
version = "1.0"
features = [
"v4",
"serde",
]
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio-test]
version = "0.4"