Golang gorm 创建两个具有相同结构的表

问题描述 投票:0回答:0

我正在使用 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 的查询不会给我“记录”表中的结果。

go go-gorm
© www.soinside.com 2019 - 2024. All rights reserved.