Skip to main content

Module codegen

Module codegen 

Source
Expand description

Code generation module

Structs§

CodeGenerator
Main code generator that orchestrates struct and DAO generation
TypeResolver
Resolve MySQL data types to Rust types

Enums§

RustType
Represents a Rust type for code generation

Functions§

escape_field_name
Escape a field name if it’s a Rust keyword
generate_daos
Generate DAO files for all tables
generate_delete_by_method_name
Generate a delete_by method name for columns
generate_find_by_list_method_name
Generate a find_by method name for list parameters (pluralized) e.g., “status” -> “find_by_statuses” If singular equals plural (e.g., “published”), adds “_list” suffix
generate_find_by_method_name
Generate a find_by method name for columns e.g., [“user_id”, “device_type”] -> “find_by_user_id_and_device_type”
generate_structs
Generate struct files for all tables
generate_update_by_method_name
Generate an update_by method name for columns
is_rust_keyword
Check if a name is a Rust reserved keyword
pluralize
Pluralize a word using English grammar rules
to_enum_name
Generate an enum name for a column’s ENUM type e.g., table “users” + column “status” -> “UsersStatus”
to_enum_variant
Convert an enum value to a Rust variant name Handles cases like “ACTIVE”, “active”, “PendingReview”, “IN_PROGRESS”
to_field_name
Convert a column name to a field name (snake_case)
to_struct_name
Convert a table name to a struct name (PascalCase)