Expand description
DBNexus - 企业级数据库抽象层
基于积木架构的分层模块设计:
- Foundation 层: 零依赖基础模块 (pool)
- Domain 层: 领域模块 (permission, migration, audit, auth)
- Observability 层: 可观测模块 (metrics, health)
Re-exports§
pub use crate::common::error::DbNexusError;pub use crate::common::error::DbNexusResult;pub use crate::common::error::ErrorCategory;pub use crate::common::error::QueryErrorReport;pub use crate::foundation::config::DatabaseType;pub use crate::foundation::config::CacheConfig;pub use crate::foundation::config::ConfigError;pub use crate::foundation::config::DbConfig;pub use crate::foundation::config::PoolConfig;pub use crate::foundation::error::DbError;pub use crate::foundation::error::DbResult;pub use crate::foundation::error::AuditError;pub use crate::foundation::error::MigrationError;pub use crate::foundation::error::MigrationResult;pub use crate::foundation::error::ConfigResult;pub use crate::foundation::error::PermissionResult;pub use crate::foundation::error::PoolResult;pub use crate::domain::permission::PermissionAction as DomainPermissionAction;pub use crate::domain::permission::PermissionConfig as NewPermissionConfig;pub use crate::domain::permission::PermissionConfigError;pub use crate::domain::permission::PermissionError as NewPermissionError;pub use crate::domain::permission::PermissionProvider;pub use crate::domain::permission::RolePolicy as DomainRolePolicy;pub use crate::domain::permission::TablePermission as DomainTablePermission;pub use crate::database::migration::Column;pub use crate::database::migration::ColumnType;pub use crate::database::migration::Index;pub use crate::database::migration::Migration;pub use crate::database::migration::MigrationExecutor;pub use crate::database::migration::MigrationFile;pub use crate::database::migration::MigrationFileParser;pub use crate::database::migration::MigrationHistory;pub use crate::database::migration::MigrationVersion;pub use crate::database::migration::Schema;pub use crate::database::migration::SchemaDiffer;pub use crate::database::migration::SqlGenerator;pub use crate::database::migration::Table;pub use crate::database::migration::TableChange;pub use crate::database::pool::DbConnection;pub use crate::database::pool::DbPool;pub use crate::database::pool::DbPoolBuilder;pub use crate::database::pool::Session;pub use crate::database::pool::ConnectionPool;pub use crate::database::pool::DatabaseSession;pub use crate::database::pool::DuckDbConnection;pub use crate::database::pool::DuckDbExecResult;pub use crate::database::pool::DuckDbRow;pub use crate::database::sharding::ShardConfig;pub use crate::database::sharding::ShardRouter;pub use crate::database::sharding::ShardingStrategy;pub use crate::database::sharding::create_strategy;pub use crate::access::security::DdlGuard;pub use crate::access::security::DdlValidationResult;pub use crate::access::security::MaskType;pub use crate::access::security::SensitiveError;pub use crate::access::security::SensitiveMasker;pub use crate::access::security::SensitiveResult;pub use crate::access::permission::MemoryPermissionProvider;pub use crate::access::permission::PermissionAction as AccessPermissionAction;pub use crate::access::permission::PermissionCache;pub use crate::access::permission::PermissionCacheConfig;pub use crate::access::permission::PermissionConfig;pub use crate::access::permission::PermissionProvider as AccessPermissionProvider;pub use crate::access::permission::PermissionProviderError;pub use crate::access::permission::RolePolicy as AccessRolePolicy;pub use crate::access::permission::TablePermission as AccessTablePermission;pub use crate::access::permission::YamlPermissionProvider;pub use crate::access::authentication::AuthCredentials;pub use crate::access::authentication::AuthError;pub use crate::access::authentication::AuthResult;pub use crate::access::authentication::AuthenticationManager;pub use crate::access::authentication::JwtClaims;pub use crate::access::authentication::JwtManager;pub use crate::access::authentication::PasswordHasher;pub use crate::access::authentication::TokenType;pub use crate::access::authentication::User;pub use crate::access::sql_parser::SqlParser;pub use crate::access::sql_parser::SqlOperationType;pub use crate::access::sql_parser::is_ddl_operation;pub use crate::access::sql_parser::contains_sql_injection;pub use crate::access::permission_engine::PermissionAction as EnginePermissionAction;pub use crate::access::permission_engine::PermissionContext as PermissionEngineContext;pub use crate::access::permission_engine::PermissionDecision;pub use crate::access::permission_engine::PermissionProvider as EnginePermissionProvider;pub use crate::access::permission_engine::PermissionResource;pub use crate::access::permission_engine::PermissionRule;pub use crate::access::permission_engine::PermissionSubject;pub use crate::access::permission_engine::PolicyDecisionPoint;pub use crate::access::permission_engine::PolicyDecisionPointConfig;pub use crate::access::permission_engine::RbacPermissionProvider;pub use crate::access::permission_engine::Role;pub use crate::access::permission_engine::YamlPermissionProvider as EngineYamlPermissionProvider;pub use crate::observability::health::CircuitBreaker;pub use crate::observability::health::CircuitBreakerConfig;pub use crate::observability::health::CircuitBreakerError;pub use crate::observability::health::CircuitBreakerState;pub use crate::observability::health::HealthChecker;pub use crate::observability::health::HealthStatus;pub use crate::observability::health::PoolHealthMetrics;pub use crate::observability::metrics::ConnectionAcquireStats;pub use crate::observability::metrics::HistogramBucket;pub use crate::observability::metrics::HistogramStats;pub use crate::observability::metrics::LatencyHistogram;pub use crate::observability::metrics::LatencyPercentiles;pub use crate::observability::metrics::MetricsCollector;pub use crate::observability::metrics::MetricsCollectorTrait;pub use crate::observability::metrics::MetricsError;pub use crate::observability::metrics::PoolMetrics;pub use crate::observability::metrics::QueryStats;pub use crate::observability::metrics::SlowQueryConfig;pub use crate::observability::metrics::SlowQueryRecord;pub use crate::observability::metrics::ThroughputStats;pub use crate::observability::metrics::TransactionStats;pub use crate::observability::tracing::TracingError;pub use crate::observability::tracing::TracingGuard;pub use crate::observability::metrics::MockMetrics;pub use crate::storage::global_index::GlobalIndex;pub use crate::storage::global_index::IndexEntry;pub use crate::storage::global_index::SYNC_STATUS_FAILED;pub use crate::storage::global_index::SYNC_STATUS_PENDING;pub use crate::storage::global_index::SYNC_STATUS_SYNCED;pub use crate::storage::global_index::SyncEvent;pub use crate::storage::global_index::SyncResult;pub use crate::domain::audit::AuditConfig;pub use crate::domain::audit::AuditContext;pub use crate::domain::audit::AuditEvent;pub use crate::domain::audit::AuditEventBuilder;pub use crate::domain::audit::AuditLogger;pub use crate::domain::audit::AuditOperation;pub use crate::domain::audit::AuditQueryFilters;pub use crate::domain::audit::AuditSeverity;pub use crate::domain::audit::AuditStatus;pub use crate::domain::audit::AuditStorage;pub use crate::domain::audit::MemoryAuditStorage;pub use crate::foundation::error::AuditResult;pub use crate::kit::DbNexusKit;pub use crate::foundation::Set;pub use crate::kit::keys::*;
Modules§
- access
- Access 模块 - 安全、权限、认证 Access 模块
- common
- 公共类型模块 公共类型模块
- database
- Database 模块 - 连接池、迁移、分片 Database 模块
- domain
- Domain 层 - 领域模块 Domain 层 - 领域模块
- foundation
- Foundation 层 - 基础模块 (旧版,保持兼容) Foundation 模块
- kit
- Kit 模块 — 基于
trait-kit的统一能力管理 基于trait-kit的统一能力管理模块 - observability
- Observability 层 - 可观测模块 Observability 模块
- storage
- Storage 模块 (保留用于 global-index) Storage 模块
Structs§
- Condition
- Represents the value of an
Condition::anyorCondition::all: a set of disjunctive or conjunctive conditions.
Traits§
- Active
Model Trait - The editable counterpart of a
Model, used to buildINSERTandUPDATEstatements. - Entity
Trait - The contract every SeaORM entity implements — a static description of a table plus the CRUD entry points used to query it.
Attribute Macros§
- db_
entity db_entity统一属性宏