8.gorm基础新-配置

本门课程没有在一开始就讲一大堆gorm的配置

那是因为尽可能实现约定大于配置

如果按照gorm的约定来是编写代码,那么就可以省去很多配置项

使用ID为主键

默认情况下,名为 ID 的字段会作为表的主键

也可以通过标签 primaryKey 将其它字段设为主键

复数表名

GORM 使用结构体名的 蛇形命名 作为表名。对于结构体 User,根据约定,其表名为 users

如果不想用复数表名,可以在配置中修改

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
  NamingStrategy: schema.NamingStrategy{
    TablePrefix: "t_",   // 表名前缀
    SingularTable: true, // 使用单数表名
    NoLowerCase: true, // 关闭蛇形命名
    NameReplacer: strings.NewReplacer("CID", "Cid"), // use name replacer to change struct/field name before convert it to db name
  },
})

也可以使用TableName函数进行自定义表名

func (User) TableName() string {
  return "profiles"
}

蛇形列名

使用gorm:"column:name"进行自定义列名

特殊的时间字段

CreatedAt

对于有 CreatedAt 字段的模型,创建记录时,如果该字段值为零值,则将该字段的值设为当前时间

UpdatedAt

对于有 UpdatedAt 字段的模型,更新记录时,将该字段的值设为当前时间。创建记录时,如果该字段值为零值,则将该字段的值设为当前时间

DeletedAt

软删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值