我是 golang 的新手,并且正在使用ent框架作为 ORM。每个模式都应该有字段created_at
and updated_at
,我想写一次而不是为每个模式写它,即:
func (User) Fields() []ent.Field {
return []ent.Field{
field.Int("id"),
field.String("name").MaxLen(70),
field.String("email"),
field.Time("created_at").Default(time.Now).Immutable(),
field.Time("updated_at").Default(time.Now).UpdateDefault(time.Now),
}
}
.....
func (Product) Fields() []ent.Field {
return []ent.Field{
field.Int("id"),
field.String("name").MaxLen(70),
field.Float("price"),
field.Time("created_at").Default(time.Now).Immutable(),
field.Time("updated_at").Default(time.Now).UpdateDefault(time.Now),
}
}
我来自 OOP lagnageus,在那里我可以使用BaseEntity
所有其他实体从它继承的某种方式来做到这一点,但不知道在这种情况下如何做到这一点。