feat: update.
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
package mixin
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/field"
|
||||
"entgo.io/ent/schema/mixin"
|
||||
"time"
|
||||
)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -74,3 +75,71 @@ func (Timestamp) Fields() []ent.Field {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*CreatedAtTimestamp)(nil)
|
||||
|
||||
type CreatedAtTimestamp struct{ mixin.Schema }
|
||||
|
||||
func (CreatedAtTimestamp) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 创建时间,毫秒
|
||||
field.Int64("created_at").
|
||||
Comment("创建时间").
|
||||
Immutable().
|
||||
Optional().
|
||||
Nillable().
|
||||
DefaultFunc(time.Now().UnixMilli),
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*UpdatedAtTimestamp)(nil)
|
||||
|
||||
type UpdatedAtTimestamp struct{ mixin.Schema }
|
||||
|
||||
func (UpdatedAtTimestamp) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 更新时间,毫秒
|
||||
// 需要注意的是,如果不是程序自动更新,那么这个字段不会被更新,除非在数据库里面下触发器更新。
|
||||
field.Int64("updated_at").
|
||||
Comment("更新时间").
|
||||
Optional().
|
||||
Nillable().
|
||||
UpdateDefault(time.Now().UnixMilli),
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*DeletedAtTimestamp)(nil)
|
||||
|
||||
type DeletedAtTimestamp struct{ mixin.Schema }
|
||||
|
||||
func (DeletedAtTimestamp) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 删除时间,毫秒
|
||||
field.Int64("deleted_at").
|
||||
Comment("删除时间").
|
||||
Optional().
|
||||
Nillable(),
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*TimestampAt)(nil)
|
||||
|
||||
type TimestampAt struct{ mixin.Schema }
|
||||
|
||||
func (TimestampAt) Fields() []ent.Field {
|
||||
var fields []ent.Field
|
||||
fields = append(fields, CreatedAtTimestamp{}.Fields()...)
|
||||
fields = append(fields, UpdatedAtTimestamp{}.Fields()...)
|
||||
fields = append(fields, DeletedAtTimestamp{}.Fields()...)
|
||||
return fields
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user