github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/entrepository/ent/schema/schema.go (about) 1 package schema 2 3 import ( 4 "time" 5 6 "entgo.io/ent" 7 "entgo.io/ent/dialect" 8 "entgo.io/ent/dialect/entsql" 9 "entgo.io/ent/schema/field" 10 "entgo.io/ent/schema/mixin" 11 ) 12 13 type TimeStamp struct { 14 mixin.Schema 15 } 16 17 func (TimeStamp) Fields() []ent.Field { 18 return []ent.Field{ 19 // field.Time("created_at").Default(time.Now).SchemaType(map[string]string{ 20 // dialect.MySQL: "datetime DEFAULT CURRENT_TIMESTAMP", 21 // }).Immutable().StructTag(`json:"omitempty"`), 22 // field.Time("updated_at").Default(time.Now).SchemaType(map[string]string{ 23 // dialect.MySQL: "datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP", 24 // }).UpdateDefault(time.Now).StructTag(`json:"omitempty"`), 25 field.Time("created_at").Default(time.Now).SchemaType(map[string]string{ 26 dialect.MySQL: "datetime", 27 }).Immutable().StructTag(`json:"omitempty"`), 28 field.Time("updated_at").Default(time.Now).SchemaType(map[string]string{ 29 dialect.MySQL: "datetime", 30 }).UpdateDefault(time.Now).StructTag(`json:"omitempty"`), 31 field.Time("deleted_at").SchemaType(map[string]string{ 32 dialect.MySQL: "datetime", 33 }).Optional().StructTag(`json:"omitempty"`), 34 } 35 } 36 37 // var ondeleteRestrict = entsql.Annotation{ 38 // OnDelete: entsql.Restrict, 39 // } 40 // var ondeleteNoAction = entsql.Annotation{ 41 // OnDelete: entsql.NoAction, 42 // } 43 var ondeleteCascade = entsql.Annotation{ 44 OnDelete: entsql.Cascade, 45 } 46 var ondeleteSetNull = entsql.Annotation{ 47 OnDelete: entsql.SetNull, 48 }