Module codegen

Module codegen 

Source
Expand description

Type-safe schema code generation.

Generates Rust code from schema.qail for compile-time type safety.

§Usage from build.rs

qail_core::codegen::generate_to_file("schema.qail", "src/generated/schema.rs")?;

§Generated code example

pub mod users {
    use qail_core::typed::{Table, TypedColumn};
     
    pub struct Users;
    impl Table for Users { fn table_name() -> &'static str { "users" } }
     
    pub fn id() -> TypedColumn<uuid::Uuid> { TypedColumn::new("users", "id") }
    pub fn age() -> TypedColumn<i64> { TypedColumn::new("users", "age") }
}

Functions§

generate_from_file
Generate typed Rust code from a schema.qail file
generate_schema_code
Generate Rust code for the schema
generate_to_file
Generate typed Rust code from a schema.qail file and write to output
sql_type_to_rust
Map SQL types to Rust types