Golang Gorm 的标签tag
当使用 GORM 进行数据库模型映射时,可以使用多种标签来定义字段的行为。以下是一些常用的 GORM 标签:
-
gorm:"primary_key"
: 定义字段作为模型的主键。 -
gorm:"column:<column_name>"
: 指定字段在数据库表中的列名。 -
gorm:"type:<data_type>"
: 指定字段的数据库数据类型。 -
gorm:"unique"
: 定义字段的值在数据库中是唯一的。 -
gorm:"not null"
: 定义字段在数据库中不允许为空。 -
gorm:"default:<default_value>"
: 指定字段的默认值。 -
gorm:"size:<size>"
: 指定字段的大小,通常用于字符串类型字段。 -
gorm:"autoIncrement"
: 定义字段自增。 -
gorm:"index"
: 在数据库中为字段创建索引。 -
gorm:"uniqueIndex"
: 在数据库中为字段创建唯一索引。 -
gorm:"primaryKey"
: 定义字段为数据库表的主键。 -
gorm:"default:<value>"
: 指定字段的默认值。 -
gorm:"-"
: 定义字段在数据库模型中不可见。 -
gorm:"type:<data_type>;size:<size>"
: 结合使用type
和size
标签,可以同时指定字段的数据类型和大小。 -
gorm:"association_foreignkey:<column_name>"
: 定义关联表中外键的列名。 -
gorm:"many2many:<join_table_name>"
: 定义多对多关联关系,并指定连接表的表名。 -
gorm:"->;<constraint>"
: 指定外键约束,例如ONDELETE:CASCADE
。
-
gorm:"index;<index_type>"
: 在数据库中为字段创建索引,并指定索引类型,例如BTREE
、HASH
等。 -
gorm:"uniqueIndex;<index_type>"
: 在数据库中为字段创建唯一索引,并指定索引类型。 -
gorm:"precision:<precision>;scale:<scale>"
: 定义字段的精度和标度,通常用于浮点数类型字段。 -
gorm:"comment:<comment>"
: 在数据库中为字段添加注释。 -
gorm:"embedded"
: 指定字段为嵌入字段,用于嵌入式结构体。 -
gorm:"size:<size>;not null"
: 结合使用size
和not null
标签,可以指定字段的大小并且不允许为空。 -
gorm:"uniqueIndex;<index_type>;name:<index_name>"
: 在数据库中为字段创建唯一索引,并指定索引类型和索引名称。 -
gorm:"default:<expression>"
: 使用表达式指定字段的默认值,例如NOW()
。 -
gorm:"autoCreateTime"
: 指定字段在创建记录时自动设置为当前时间。 -
gorm:"autoUpdateTime"
: 指定字段在更新记录时自动设置为当前时间。