如何解决如何在Go中模拟sqlboiler查询
在这里,我一直试图找出模拟sqlboiler(ORM生成器)查询的方法,但是找不到方法。
任何人都可以解决sqlboiler查询的问题吗?
示例:
func (m *Message) updateDevice(parentID int,data map[string]interface{}) (rows int64,err error) {
rows,err = automodel.Devices(qm.Where(automodel.DeviceColumns.ParentID+"=?",parentID)).UpdateAll(context.Background(),db.GetMaster(),data)
if err != nil {
return 0,err
}
return rows,err
}
func GetDeviceByID(ID int) (res *automodel.Device,err error) {
res,err = automodel.Devices(qm.Where("id=?",ID)).One(context.Background(),db.GetSlave())
if err != nil {
return nil,err
}
return res,nil
}
FYI: automodel 是所有生成的模型都存在的软件包(例如device.go用于设备表)。我们无法更改这些模型,因为这些是由sqlboiler命令生成的,如果新生成的则需要再次生成表已添加或表发生架构更改。
在编写单元测试时,如何在上述两种方法中模拟sqlboiler查询?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。