我使用Go-GORM連接到cockrouch數據庫集羣。我寫了一個輔助函數來處理連接和自動遷移部分。一切工作正常,除非我想自動遷移超過1個模型。Go GORM db.Automigrate
err = helperdb.HandleMigrate(db, models.Resource{}, models.Right{})
if err != nil {
helperlog.Log("Clavem", "HandleMigrate", "Error migrating resource:"+err.Error())
return
}
這是輔助功能:
// HandleMigrate ...
func HandleMigrate(db *gorm.DB, models ...interface{}) error {
// this need to be checked
err := db.AutoMigrate(models).Error
if err != nil {
fmt.Println("Error HandleMigrate:" + err.Error())
return err
}
return nil
}
我得到以下錯誤:
pq: empty table name: "\"\""
當我打電話gorm.DB.AutoMigrate(&models.Resurce{}, models.Right{})
直接我沒有得到任何錯誤。
我意識到我不需要輔助函數,但我想知道爲什麼輔助函數不起作用,特別是因爲這是我第一次使用可變參數函數。
謝謝:)