pub struct GeneratorSchema {
pub version: u32,
pub tables: Vec<GeneratorTableDefinition>,
/* private fields */
}Expand description
Full schema with generators.
The schema defines the structure and generation rules for data. It is loaded from a YAML file and provides the source of truth for both data generation and verification.
Fields§
§version: u32Schema version
tables: Vec<GeneratorTableDefinition>Table definitions with generators
Implementations§
Source§impl GeneratorSchema
impl GeneratorSchema
Sourcepub fn from_file<P: AsRef<Path>>(path: P) -> Result<Self, SchemaError>
pub fn from_file<P: AsRef<Path>>(path: P) -> Result<Self, SchemaError>
Load schema from a YAML file.
Sourcepub fn from_yaml(yaml: &str) -> Result<Self, SchemaError>
pub fn from_yaml(yaml: &str) -> Result<Self, SchemaError>
Parse schema from YAML string.
Sourcepub fn get_table(&self, name: &str) -> Option<&GeneratorTableDefinition>
pub fn get_table(&self, name: &str) -> Option<&GeneratorTableDefinition>
Get a table schema by name.
Sourcepub fn get_field_type(
&self,
table: &str,
field: &str,
) -> Result<&Type, SchemaError>
pub fn get_field_type( &self, table: &str, field: &str, ) -> Result<&Type, SchemaError>
Get the type of a field in a specific table.
Sourcepub fn table_names(&self) -> Vec<&str>
pub fn table_names(&self) -> Vec<&str>
Get all table names in the schema.
Sourcepub fn to_database_schema(&self) -> DatabaseSchema
pub fn to_database_schema(&self) -> DatabaseSchema
Convert to base DatabaseSchema (discarding generator info).
Trait Implementations§
Source§impl Clone for GeneratorSchema
impl Clone for GeneratorSchema
Source§fn clone(&self) -> GeneratorSchema
fn clone(&self) -> GeneratorSchema
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GeneratorSchema
impl Debug for GeneratorSchema
Source§impl<'de> Deserialize<'de> for GeneratorSchema
impl<'de> Deserialize<'de> for GeneratorSchema
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for GeneratorSchema
impl RefUnwindSafe for GeneratorSchema
impl Send for GeneratorSchema
impl Sync for GeneratorSchema
impl Unpin for GeneratorSchema
impl UnsafeUnpin for GeneratorSchema
impl UnwindSafe for GeneratorSchema
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more