目前orm的表数据创建时间,更新时间都需要自己手动加入,不是很方便,另外,软删deleted_at这个功能也很有用,这个也没有,不知能不能加上,可以加个配置什么的自动支持,类似xorm
Q
[gogf/gf]orm希望有created_at, updated_at 表字段自动填充功能,新增软删除功能
8
A
回答
4
我看你这个时间用的时间戳(整型的),如果我想用timestamp(“2019-09-12 19:32:02”)怎么办?目前我看主流的都是用的timestamp类型的,如果不统一,多语言,多框架用同一个数据库编程就很坑爹了
8
@trensy 哪里看到框架有限定时间限定是整形的时间戳?
8
一般我们公司都是用int10在数据库中存时间
0
@trensy 哪里看到框架有限定时间限定是整形的时间戳?
我是说这里面的代码
增加自动填充创建时间和更新时间的功能(gogf#464)
//自动填充时间
var (
createdAt int
updatedAt int
)
if _, ok := data["created_at"]; ok {
createdAt = gconv.Int(data["created_at"])
}
if m.db.GetAutoFillCreatedAt() && gconv.Int(createdAt) == 0 {
data["created_at"] = gtime.Now().Unix()
}
if _, ok := data["updated_at"]; ok {
createdAt = gconv.Int(data["updated_at"])
}
if m.db.GetAutoFillUpdatedAt() && gconv.Int(updatedAt) == 0 {
data["updated_at"] = gtime.Now().Unix()
}
2
或者可以加一个设置什么的
3
这个是我个人提交的PR,不是框架中的代码!我还没有想好要怎么处理是给时间戳还是timesatmp!
3
created_at 名字是否可自定义·目前如果在生产环境的话是已经有表了·例如create_time,并且可支持不同的数据类型
1
大家好,GF
已经完成了创建时间、修改时间自动填充功能,以及软删除功能。当表中存在create_at
/CreateAt
, update_at
/UpdateAt
, delete_at
/DeleteAt
字段时将会自动启用相关功能,并且为约束使用,简化维护,这里的字段名称开发无法自定义,字段类型固定为时间类型如datetime
, timestamp
。目前已经提交到master
分支测试中,预计下一个小版本发布。
5
为啥不支持int型呢?int存时间戳字段很常见的
3
整型做统计的效率会高点 支持整形就好了