refactor(workspace): enforce layered crate boundaries

This commit is contained in:
elky
2026-07-15 23:47:19 +08:00
parent a728c090a9
commit 8616fe6ee2
969 changed files with 40187 additions and 27240 deletions
+38
View File
@@ -0,0 +1,38 @@
//! Runtime data access for Aether.
//!
//! This crate is the runtime composition facade. It selects concrete SQL
//! adapters, owns in-memory repositories and maintenance/backfill/export
//! workflows, and exposes application-facing backend handles. Shared repository
//! contracts live in `aether-data-contracts`; request-path SQL and executable
//! migrations live in the driver adapter crates.
//!
//! See `crates/aether-data/runtime/README.md` for the layer map and SQL driver policy.
pub mod backend;
mod config;
mod database;
pub mod driver;
mod error;
pub mod lifecycle;
pub mod maintenance;
pub mod repository;
#[cfg(feature = "mysql")]
pub use backend::MysqlBackend;
#[cfg(feature = "postgres")]
pub use backend::PostgresBackend;
#[cfg(feature = "sqlite")]
pub use backend::SqliteBackend;
pub use backend::{
DataBackends, DataLeaseBackends, DataReadRepositories, DataTransactionBackends,
DataWriteRepositories,
};
pub use config::DataLayerConfig;
pub use database::{DatabaseDriver, SqlDatabaseConfig, SqlPoolConfig, DEFAULT_SQLITE_DATABASE_URL};
pub use error::DataLayerError;
pub use maintenance::{
DatabaseMaintenanceSummary, DatabasePoolSummary, DatabasePostgresActivityGroup,
DatabasePostgresObservabilitySnapshot, StatsDailyAggregationInput,
StatsDailyAggregationSummary, StatsHourlyAggregationInput, StatsHourlyAggregationSummary,
WalletDailyUsageAggregationInput, WalletDailyUsageAggregationResult,
};