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