Skip to main content

sim_relation_schema/
lib.rs

1//! Validated logical schema intent and normalized physical catalog evidence.
2//!
3//! ```
4//! use sim_relation_schema::{fixtures, AcceptAllValues};
5//! let schema = fixtures::document(&AcceptAllValues).unwrap();
6//! assert_eq!(schema.tables().len(), 2);
7//! assert_ne!(schema.id().unwrap(), fixtures::ledger(&AcceptAllValues).unwrap().id().unwrap());
8//! ```
9
10#![forbid(unsafe_code)]
11#![deny(missing_docs)]
12
13mod builders;
14/// Exact logical fixtures for the supported store families.
15pub mod fixtures;
16mod model;
17mod physical;
18mod validation;
19
20pub use builders::{ColumnBuilder, SchemaBuilder, TableBuilder};
21pub use model::{
22    CheckConstraint, Column, Constraint, DefaultValue, ForeignKey, GeneratedValue, Index,
23    PrimaryKey, Schema, Table, UniqueConstraint, View,
24};
25pub use physical::{PhysicalColumn, PhysicalIndex, PhysicalSchema, PhysicalTable};
26pub use validation::{AcceptAllValues, SchemaError, ValueShapeValidator};