#[derive(Schema)]
{
// Attributes available to this derive:
#[table]
#[column]
}
Expand description
派生宏:自动从 Rust 结构体生成表结构信息。
解析 #[table(name = "...")] 和 #[column(...)] 属性,
生成 Schema trait 实现,便于在运行时反射表名与列信息。
§支持的属性
#[table(name = "users")]— 指定表名(默认使用结构体名的蛇形形式)#[column(name = "user_id")]— 指定列名(默认使用字段名)#[column(type = "VARCHAR(255)")]— 指定 SQL 类型#[column(primary_key)]— 标记主键#[column(nullable)]— 显式标记允许 NULL#[column(skip)]— 跳过此字段,不生成 schema 条目#[column(default = "0")]— 标记字段有默认值
§类型推断
字段的 Rust 类型会自动映射为 SQL 类型:
i64/u64→BIGINTi32/u32→INTEGERString→TEXTf64→DOUBLEbool→BOOLEANVec<u8>→BLOBOption<T>→ 与T相同,但标记为 nullable