axion_db/lib.rs
1#![allow(unused)]
2
3// axion-db/src/lib.rs
4
5// These modules contain the internal implementation details.
6// They are `pub` so they can be used by other modules within this crate,
7// but they will NOT be part of the public `prelude`.
8pub mod client;
9pub mod config;
10pub mod error;
11pub mod introspection;
12pub mod manager;
13pub mod metadata;
14pub mod types;
15
16/// The public-facing prelude for the `axion-db` crate.
17/// This is the ONLY part that the `axion` crate should interact with.
18/// It exposes the high-level manager and the data structures it returns.
19pub mod prelude {
20 // The primary entry point for using this crate.
21 pub use crate::manager::ModelManager;
22
23 // The configuration struct needed to create a ModelManager.
24 pub use crate::config::{DatabaseType, DbConfig, PoolOptionsConfig};
25
26 // The error types that can be returned.
27 pub use crate::error::{DbError, DbResult};
28
29 // The data structures that describe the database schema.
30 pub use crate::metadata::{
31 AxionDataType,
32 // We do not export function-related structs yet as they are not implemented.
33 ColumnMetadata,
34 DatabaseMetadata,
35 EnumMetadata,
36 ForeignKeyReference,
37 SchemaMetadata,
38 TableMetadata,
39 ViewMetadata,
40 };
41}