package model type CustomerOrder struct { OrderID uint `gorm:"column:order_id;primaryKey;autoIncrement" json:"order_id"` UserID uint `gorm:"column:user_id;not null;index" json:"user_id"` Name string `gorm:"column:name;not null" json:"name"` CountryID uint `gorm:"column:country_id;not null" json:"country_id"` AddressString string `gorm:"column:address_string;not null" json:"address_string"` AddressUnparsed *AddressUnparsed `gorm:"-" json:"address_unparsed"` Status string `gorm:"column:status;size:50;not null" json:"status"` Products []OrderProduct `gorm:"foreignKey:OrderID;references:OrderID" json:"products"` } func (CustomerOrder) TableName() string { return "b2b_customer_orders" } type OrderProduct struct { OrderID uint `gorm:"column:order_id;not null;index" json:"-"` ProductID uint `gorm:"column:product_id;not null" json:"product_id"` ProductAttributeID *uint `gorm:"column:product_attribute_id" json:"product_attribute_id,omitempty"` Amount uint `gorm:"column:amount;not null" json:"amount"` } func (OrderProduct) TableName() string { return "b2b_orders_products" }