Derive Macro sql_tool_kit::GenFields

source ·
#[derive(GenFields)]
{
    // Attributes available to this derive:
    #[field]
}
Expand description

过程宏入口点,用于处理 #[field(...)] 属性宏。

此宏处理结构体定义上的 #[field(...)] 属性,用于生成符合 FieldsAttributeMacro trait 的实现。这允许在结构体字段级别上定义如何处理 SQL 字段,例如忽略某些字段, 或将字段重命名。

字段宏参数:

  • ignore - 忽略该字段
  • rename - 字段重命名

§返回值

返回 TokenStream,包含了生成的 trait 实现代码。

§使用示例

use sql_tool_core::FieldsAttributeMacro;

#[derive(GenFields, Debug)]
struct MyStruct {
    field1: i32,
    #[field(ignore)]
    field2: i32,
    #[field(rename = "rename_field")]
    field3: i32,
}

MyStruct::generate_fields_clause(); // 输出:["field1", "rename_field"]