1pub mod error;
8pub mod types;
9pub mod pool;
10pub mod manager;
11pub mod odm;
12pub mod model;
13pub mod serializer;
14pub mod adapter;
15pub mod config;
16pub mod task_queue;
17pub mod table;
18
19pub mod cache;
21pub mod id_generator;
22
23#[cfg(feature = "python-bindings")]
25pub mod python_api;
26
27pub use error::{QuickDbError, QuickDbResult};
29pub use types::*;
30pub use pool::{ConnectionPool, DatabaseConnection};
31pub use manager::{
32 PoolManager, add_database, remove_database, get_connection, release_connection,
33 get_aliases, set_default_alias, health_check, shutdown,
34 get_id_generator, get_mongo_auto_increment_generator
35};
36
37pub use manager::{
38 get_cache_manager, get_cache_stats, clear_cache, clear_all_caches
39};
40pub use odm::{AsyncOdmManager, OdmOperations, get_odm_manager, get_odm_manager_mut};
41pub use model::{
42 Model, ModelOperations, ModelManager, FieldType, FieldDefinition, ModelMeta, IndexDefinition,
43 array_field, list_field, string_field, integer_field, float_field, boolean_field,
44 datetime_field, uuid_field, json_field, dict_field, reference_field
45};
46pub use serializer::{DataSerializer, SerializerConfig, OutputFormat, SerializationResult};
47pub use adapter::{DatabaseAdapter, create_adapter};
48pub use config::{
49 GlobalConfig, GlobalConfigBuilder, DatabaseConfigBuilder, PoolConfigBuilder,
50 AppConfig, AppConfigBuilder, LoggingConfig, LoggingConfigBuilder,
51 Environment, LogLevel, sqlite_config, postgres_config, mysql_config,
52 mongodb_config, mongodb_config_with_builder
53};
54pub use task_queue::{
55 TaskQueueManager, get_global_task_queue, initialize_global_task_queue,
56 shutdown_global_task_queue
57};
58pub use table::{TableManager, TableSchema, ColumnDefinition, ColumnType, IndexType};
59
60pub use cache::{CacheManager, CacheStats};
62
63pub use id_generator::{IdGenerator, MongoAutoIncrementGenerator};
65
66pub use odm::{create, find_by_id, find, update, update_by_id, delete, delete_by_id, count, exists};
70
71use rat_logger::info;
76
77
78pub fn init() {
84 }
87
88#[deprecated(since = "0.2.0", note = "请使用init(),日志系统由调用者自行初始化")]
93pub fn init_with_log_level(_level: rat_logger::LevelFilter) {
94 init();
95}
96
97pub const VERSION: &str = env!("CARGO_PKG_VERSION");
99
100pub const NAME: &str = env!("CARGO_PKG_NAME");
102
103pub fn get_info() -> String {
105 format!("{} v{}", NAME, VERSION)
106}