I'm new to golang, and am using ent framework as an ORM.
Every schema should have the fields created_at
and updated_at
, and I want to write it once rather then write it for every schema i.e:
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),
}
}
I came from OOP lagnageus where I can do that it with some kind of BaseEntity
that all other entities inherits from it, but not sure how to do it in this case.