Skip to main content

SqlType

Derive Macro SqlType 

Source
#[derive(SqlType)]
{
    // Attributes available to this derive:
    #[sql_type]
}
Expand description

派生宏:为 Rust 枚举自动生成 sz_orm_core::FromQueryResult trait 实现 和 to_value() 方法。

这是 sz-orm 对 SQLx #[derive(Type)] 的等效实现: 让自定义枚举可以直接用于查询结果的字段映射和查询参数的绑定。

§支持的属性

  • #[sql_type(rename_all = "snake_case")] — 控制变体名的序列化格式 (snake_case / SCREAMING_SNAKE_CASE / camelCase / PascalCase / lowercase / UPPERCASE)
  • #[sql_type(rename = "...")](变体级)— 覆盖单个变体的序列化名

§示例

use sz_orm_macros::SqlType;

#[derive(SqlType)]
enum Status {
    Active,    // → "active"
    Inactive,  // → "inactive"
}

let v = Status::Active.to_value();  // Value::String("active")