我正在使用 gorm 创建两个相同结构的 sqlite 表,为了有不同的表名,我有以下内容:
type Reservation struct {
ID string
...
...
}
func (Reservation) TableName() string {
return "reservations"
}
type GenesisRecord struct {
Reservation
}
func (GenesisRecord) TableName() string {
return "records"
}
使用 gorm AutoMigrate 创建两个表。
legDb, err := legacyGorm.Open(r.driver, r.filePath)
legDb.AutoMigrate(i...)
他们确实有不同的名字,在 sqlite 中他们看起来是一样的。
但是当我尝试使用 Reservation 结构查询“records”表时,它找不到一个
var res Reservation
db.Order("last_activity_at DESC").First(&res, "id = ?", identity)
我的问题是如何使用相同的结构(Reservation)创建具有相同模式的两个表(不同的表名)。对于我上面的代码,它看起来确实像相同的模式,但是使用 Reservation 的查询不会给我“记录”表中的结果。