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  }