Skip to main content

Crate ormdantic_schema

Crate ormdantic_schema 

Source
Expand description

Schema metadata structures used by Ormdantic’s Rust runtime.

use ormdantic_schema::{
    ColumnAlias, ColumnDef, FieldKind, SchemaRegistry, TableDef,
};

let table = TableDef::from_parts(
    "coffee",
    "Coffee",
    "id",
    vec![
        ColumnDef::new("id", FieldKind::Integer).primary_key(true),
        ColumnDef::new("name", FieldKind::String),
    ],
    Vec::new(),
    Vec::new(),
    Vec::new(),
);

let mut registry = SchemaRegistry::new();
let table_id = registry.register_table(table)?;
assert_eq!(table_id.0, 0);
assert_eq!(registry.get_table("coffee").unwrap().primary_key(), "id");

let alias = ColumnAlias::parse("coffee\\name").unwrap();
assert_eq!(alias.table_path(), "coffee");
assert_eq!(alias.column(), "name");

Structs§

CheckConstraintDef
ColumnAlias
ColumnDef
ComputedDef
ConstraintTiming
ExclusionConstraintDef
ExclusionElementDef
ForeignKeyDef
IdentityDef
IndexDef
MysqlTableOptions
NamespaceDef
ReflectedSchema
ReflectedTable
RelationshipDef
SchemaDef
SchemaDiff
SchemaDiffer
SchemaRegistry
SchemaSnapshot
TableDef
UniqueConstraintDef

Enums§

CascadeAction
ColumnDefault
ConstraintDef
FieldKind
ForeignKeyAction
ForeignKeyMatch
LoaderStrategy
OracleIndexCompression
OracleTableCompression
RelationshipCardinality
RelationshipDirection
SchemaOperation