草庐IT

mysql-community-test

全部标签

mysql - 为选择查询传递可变参数

我正在尝试按如下方式构建查询,这里我使用的是gorp。funcGetAgregatedDownloadsFromTo(constrainsConstrains)[]dao.NameValue{dbMap:=utils.GetDBConnection("radsummary");deferdbMap.Db.Close()vartotalDailyDownloads[]NameValuequery:="SELECTSUM(outputoctets)asvalue,dateasnameFROMdailyacctwheredate>=?ANDdate0{query=query+"ANDcall

unit-testing - 我如何在测试中模拟 Go 函数?

我在StackOverflow上阅读了一些关于如何模拟time.Now()等函数的问题。解决方案似乎是编写一个实现特定接口(interface)的结构,然后在测试中传入该模拟。有更好的方法吗?由于在Golang中没有足够好的依赖注入(inject)容器实现,我不想手动传递结构,或者创建一个内部只有这样的结构:func(sMyStruct)Now(){returntime.Now()}因为,首先,我无法测试这个函数。当你处理其中没有变量的一行时,它可能什么都不是,但我有一个连接到TCP端口的函数。做这样的事情需要我为它使用的所有东西创建适配器(例如net.Dial()、time.Now(

mysql - 尝试从模型创建表时出错

我今天开始玩gorm,但不幸的是遇到了一些愚蠢的错误,并坚持了一段时间。起初我在Windows上运行MySQL5(5.0.51b)和最新版本的go。我确实获得了gorm和mysql驱动程序并且它编译没有错误并且能够连接(可能),但是每当我尝试根据声明的类型创建一个表时它会抛出一个没有信息的错误(因为错误是由MySQL抛出)。这是我的代码:mport("fmt"_"github.com/go-sql-driver/mysql""github.com/jinzhu/gorm")typeUserstruct{idint}funcmain(){db,err:=gorm.Open("mysql"

mysql - golang mysql exec 占位符 "?"未展开

我觉得我一定完全没有捕获要点。我尝试按照下面的示例运行一些东西,但是?没有扩展到传入的参数中。import("database/sql"_"github.com/go-sql-driver/mysql")db,err:=sql.Open(...)iferr!=nil{...}_,err=db.Query("SELECT*FROMfooWHEREbar=?",bar)此外,谁在关心扩大它?它显示在doc中database/sql但其他对话暗示这可能是驱动程序的问题。我错过了什么?非常感谢任何指向正确方向的指针。 最佳答案 您(可能)没

mysql - Golang 加入数组接口(interface)

我尝试创建批量插入。我使用gormgithub.com/jinzhu/gormimport("fmt"dB"github.com/edwinlab/api/repositories")funcUpdate()error{tx:=dB.GetWriteDB().Begin()sqlStr:="INSERTINTOcity(code,name)VALUES(?,?),(?,?)"vals:=[]interface{}{}vals=append(vals,"XX1","Jakarta")vals=append(vals,"XX2","Bandung")tx.Exec(sqlStr,vals)

mysql - 全选在 golaong gorm 中不起作用

我正在使用gin框架并尝试使用grom进行crud操作。我正在尝试从MYSQL数据库中获取数据。我有db.go来获取数据库实例,每个表和模型的一些Controller我有一个这样的模型typeCampaignsstruct{IDint`json:"id"form:"id"gorm:"column:CampaignID"`UserIDint`json:"userId"form:"userId"gorm:"column:UserID"`Namestring`json:"name"form:"name"gorm:"column:Name"`StartDatetime.Time`json:"s

unit-testing - 在 GO 中测试 - 项目包中的代码覆盖率

我有一个关于在Go(lang)项目中生成代码覆盖率的问题。我有这个简单的结构:ROOT/config/handlers/lib/models/router/main.goconfig包含JSON格式的配置和一个简单的config.go读取和解析JSON文件并填充随后使用的Config结构初始化数据库连接时。handlers包含controllers(即router/routes.go中描述的相应METHOD+URL的处理程序)。lib包含一些数据库、请求响应器和记录器逻辑。models包含要从JSON和DB映射到的结构及其函数。最后router包含路由器和路由定义。基本上只是通过测试一

unit-testing - 如何在 Go 中将测试标记为不确定?

这个问题在这里已经有了答案:HowToWritePendingTestsInGo(1个回答)关闭6年前。在Go中编写测试时,如何将测试标记为不确定,即存在,但既不成功也不失败,例如因为它还没有实现?我有Node.js背景,例如在Mocha(Node.js的测试运行器)中,您可以定义一个没有实现的测试,然后Mocha将此测试标记为pending。你如何用Go做到这一点?(如果有任何区别,我在gotest之上使用gocheck。)

mysql - 如何将 `where in` 与整数片段一起使用

来自http://jinzhu.me/gorm/advanced.html#sql-builder,我应该能够使用WHEREIN和单个(?)更新多行并将slice传递给单个?而不是WHEREIN(?,?,?,?)。来自jinzhu.me的示例如下:db.Exec("UPDATEordersSETshipped_at=?WHEREidIN(?)",time.Now,[]int64{11,22,33})。这是gorm的测试示例,显示它可以正常工作。https://github.com/jinzhu/gorm/blob/021d7b33143de37b743d1cf660974e9c8d3f

go - 将数据从 MySQL 提供给 golang 模板

我将mysql数据库中的数据集提供给go-template。结果有多行,但所有值都是一个字符串!?typeTasksstruct{tidintpidintuidintdelintfinischintopenintinprocessintabnahmeintfertigintfinischdatumstringerstelltstringstartstringendestringnamestringbeschreibungstring}typeDatenstruct{Tabledata[]*Tasks}d:=Daten{}rows,err:=db.Query("SELECT*FROMta