github.com/systematiccaos/gorm@v1.22.6/schema/model_test.go (about) 1 package schema_test 2 3 import ( 4 "database/sql" 5 "time" 6 7 "github.com/systematiccaos/gorm" 8 "github.com/systematiccaos/gorm/utils/tests" 9 ) 10 11 type User struct { 12 *gorm.Model 13 Name *string 14 Age *uint 15 Birthday *time.Time 16 Account *tests.Account 17 Pets []*tests.Pet 18 Toys []*tests.Toy `gorm:"polymorphic:Owner"` 19 CompanyID *int 20 Company *tests.Company 21 ManagerID *uint 22 Manager *User 23 Team []*User `gorm:"foreignkey:ManagerID"` 24 Languages []*tests.Language `gorm:"many2many:UserSpeak"` 25 Friends []*User `gorm:"many2many:user_friends"` 26 Active *bool 27 } 28 29 type mytime time.Time 30 type myint int 31 type mybool = bool 32 33 type AdvancedDataTypeUser struct { 34 ID sql.NullInt64 35 Name *sql.NullString 36 Birthday sql.NullTime 37 RegisteredAt mytime 38 DeletedAt *mytime 39 Active mybool 40 Admin *mybool 41 } 42 43 type BaseModel struct { 44 ID uint 45 CreatedAt time.Time 46 CreatedBy *int 47 Created *VersionUser `gorm:"foreignKey:CreatedBy"` 48 UpdatedAt time.Time 49 DeletedAt gorm.DeletedAt `gorm:"index"` 50 } 51 52 type VersionModel struct { 53 BaseModel 54 Version int 55 } 56 57 type VersionUser struct { 58 VersionModel 59 Name string 60 Age uint 61 Birthday *time.Time 62 }