feat: update.

This commit is contained in:
tx7do
2023-10-25 16:55:53 +08:00
parent 1c225465de
commit 498bc3ea18
7 changed files with 105 additions and 22 deletions

View File

@@ -69,11 +69,11 @@ func (TimeAt) Fields() []ent.Field {
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*CreatedTime)(nil)
var _ ent.Mixin = (*CreateTime)(nil)
type CreatedTime struct{ mixin.Schema }
type CreateTime struct{ mixin.Schema }
func (CreatedTime) Fields() []ent.Field {
func (CreateTime) Fields() []ent.Field {
return []ent.Field{
// 创建时间
field.Time("create_time").
@@ -86,11 +86,11 @@ func (CreatedTime) Fields() []ent.Field {
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*UpdatedTime)(nil)
var _ ent.Mixin = (*UpdateTime)(nil)
type UpdatedTime struct{ mixin.Schema }
type UpdateTime struct{ mixin.Schema }
func (UpdatedTime) Fields() []ent.Field {
func (UpdateTime) Fields() []ent.Field {
return []ent.Field{
// 更新时间
field.Time("update_time").
@@ -102,11 +102,11 @@ func (UpdatedTime) Fields() []ent.Field {
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _ ent.Mixin = (*DeletedTime)(nil)
var _ ent.Mixin = (*DeleteTime)(nil)
type DeletedTime struct{ mixin.Schema }
type DeleteTime struct{ mixin.Schema }
func (DeletedTime) Fields() []ent.Field {
func (DeleteTime) Fields() []ent.Field {
return []ent.Field{
// 删除时间
field.Time("delete_time").
@@ -122,9 +122,9 @@ type Time struct{ mixin.Schema }
func (Time) Fields() []ent.Field {
var fields []ent.Field
fields = append(fields, CreatedTime{}.Fields()...)
fields = append(fields, UpdatedTime{}.Fields()...)
fields = append(fields, DeletedTime{}.Fields()...)
fields = append(fields, CreateTime{}.Fields()...)
fields = append(fields, UpdateTime{}.Fields()...)
fields = append(fields, DeleteTime{}.Fields()...)
return fields
}

View File

@@ -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
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////