GORM 嵌入式结构未迁移到 SQL
GORM embedded struct not getting migrated to SQL
我在 GORM 中声明以下模型:
type DBModel struct {
ID uint `gorm:"primaryKey"`
CreatedAt *time.Time `json:"_"`
UpdatedAt *time.Time `json:"_"`
DeletedAt *time.Time `json:"_"`
ClientID uint `gorm:"not_null"`
}
type Address struct {
address string
city string
state string
pincode int
country string
}
type Office struct {
DBModel DBModel `gorm:"embedded"`
Address Address `gorm:"embedded"`
Name string
}
在 运行
func Init(db *gorm.DB) {
DB = db
DB.AutoMigrate(&models.Office{})
}
正在迁移的 Office table 具有以下字段:
id
created_at
updated_at
deleted_at
client_id
name
为什么没有嵌入地址结构?
好的明白了
地址结构的字段应该是导出的字段。
字段必须以大写字母开头才能导出。
更改地址结构即可完成工作:
type Address struct {
Address string
City string
State string
Pincode int
Country string
}
我在 GORM 中声明以下模型:
type DBModel struct {
ID uint `gorm:"primaryKey"`
CreatedAt *time.Time `json:"_"`
UpdatedAt *time.Time `json:"_"`
DeletedAt *time.Time `json:"_"`
ClientID uint `gorm:"not_null"`
}
type Address struct {
address string
city string
state string
pincode int
country string
}
type Office struct {
DBModel DBModel `gorm:"embedded"`
Address Address `gorm:"embedded"`
Name string
}
在 运行
func Init(db *gorm.DB) {
DB = db
DB.AutoMigrate(&models.Office{})
}
正在迁移的 Office table 具有以下字段:
id
created_at
updated_at
deleted_at
client_id
name
为什么没有嵌入地址结构?
好的明白了
地址结构的字段应该是导出的字段。 字段必须以大写字母开头才能导出。
更改地址结构即可完成工作:
type Address struct {
Address string
City string
State string
Pincode int
Country string
}