Skip to main content

Crate dbnexus

Crate dbnexus 

Source
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::any or Condition::all: a set of disjunctive or conjunctive conditions.

Traits§

ActiveModelTrait
The editable counterpart of a Model, used to build INSERT and UPDATE statements.
EntityTrait
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 统一属性宏