草庐IT

Database_Cleaner

全部标签

sql - Go 中的 Postgres 列表参数(使用 database/sql 和 pq)

我正在尝试编写一个采用列表参数(即,作为值列表的单个参数)的查询。看来这至少有时在Postgres中是可能的(https://stackoverflow.com/a/10829760/836390)。我想要的是这样的:rows,err:=db.Query("SELECT*FROMtableWHEREidin$1",[]int{1,2,3})但是,当我使用pq执行此操作时驱动程序,我得到一个错误:sql:convertingExecargument#0'stype:unsupportedtype[]int,aslice这是pq还不支持,还是database/sql不支持,或者Postgr

database - gobuffalo 是否能够自动生成我的表格?

我有这样的结构:typeUserstruct{IDintCreatedAtintUpdatedAtintDeviceUniqueIdentifierstringSessions[]Session`has_many:"sessions"`}我不知道如何在fizz中导出它,所以我这样做了:buffalopopgeneratemodelUser令我惊讶的是,它实际上生成了一个User并在数据库中放入了一张表,但是无论是表还是结构都不是预期的。这是新的用户结构:...typeUserstruct{IDuuid.UUID`json:"id"db:"id"`CreatedAttime.Time`j

mysql - 在读取 sql.Rows.Next() 执行另一个查询时返回错误 : 1046 no database selected

(错误检查和一些细节省略)设置我是这样打开数据库的:d,err=sql.Open("mysql","user:passwd@tcp(127.0.0.1:3306)/")_,err=d.Exec("CREATEDATABASEIFNOTEXISTSmyblog")_,err=d.Exec("USEmyblog")但是如果我把它改成这样,一切都很好:d,err=sql.Open("mysql","user:passwd@tcp(127.0.0.1:3306)/myblog")执行我有两个表:articlesID,ArticleID,Title,CreateDate,PreviewConte

database - Golang gorm mock

我正在使用gorm在我的项目中。我可以在没有数据库连接的情况下模拟这个数据库orm进行测试吗?问题是我们有CI工具,但我没有数据库或没有足够数据进行测试的数据库。换句话说,我不想在每次测试时都设置一个数据库,因为在这些情况下,CI工具每次都会创建一个容器来运行测试。测试数据库相关方法的最佳方法是什么?我在我的解决方案中使用依赖注入(inject),因此很容易用模拟数据库替换数据库。但是gorm有很多orm相关的功能。这是一个处理程序,例如:functokenIntrospectionHandler(db*gorm.DB)http.HandlerFunc{returnhttp.Handl

database - 是否可以在 GAE Golang Blobstore 中存储任意数据?

我正在GoogleAppEngineGo中创建一个大型数据库应用程序。我的大部分数据都很小,因此将它们存储在Datastore中没有问题。但是,我知道我会遇到一些几兆字节大的条目,因此我将不得不使用Blobstore来保存它们。寻找atthereferenceforBlobstore,该服务似乎主要用于上传到该服务的文件。我需要调用哪些函数才能像在Datastore中一样在Blobstore中存储任意数据?我已经可以将数据转换为[]byte并且我不需要在blob中索引任何内容,只需通过ID存储和获取它。 最佳答案 有两种方法可以将文

database - 有数据库的 Authboss

我几周前才开始学习Go,我想尝试为Web服务器实现一种身份验证系统。现在,我找到了authboss这似乎是一个完美的解决方案,除了我不明白如何将它与传统数据库集成。它似乎只是将所有内容都存储在自己的内存中,如果服务器崩溃或需要重新启动,这将是一场噩梦。话虽如此,有没有人有任何想法、想法或建议? 最佳答案 要在数据库后端使用authboss身份验证,您需要编写一个“存储程序”实现。没有太多可用的数据库存储(至少我没能找到它们)。使用数据库后端的身份验证实现示例:http://www.josephspurrier.com/go-web-

string - 在 Go 中处理动态错误(特别是 database/sql 包)

在go中使用database/sql包执行sql.Exec之类的操作将返回动态生成的未引用错误,例如"Error1062:Duplicateentry'192'forkey'id'"问题是它也可以返回错误,例如"Error1146:Table'tbl'doesn'texist"来自对sql.Exec的相同调用在没有的情况下,我如何分辨这两个错误之间的区别?字符串比较,或者错误代码的模式匹配或者这些是该问题的惯用可行解决方案? 最佳答案 database/sql包没有解决这个问题。它是特定于驱动程序的。例如,对于mysql你可以使用:

go - Golang中使用database/sql包调用QueryRow方法超时

在Golang中使用database/sql包实现QueryRow方法调用超时的合适方法是什么?关于这个主题已经有很多讨论,我想知道golang1.7中是否有解决方案/最佳实践,而不是像这里描述的那样使用context包:Abilitytotimeoutwhenwatingfortheconnectionfromthepool此外,似乎contextsupport一直implementedrecently.使用上下文使连接超时的合适方法是什么? 最佳答案 就go1.7而言,您必须在以下级别实现自己的功能:池级别(问题链接)查询级别,

sql - 戈朗 : Ping succeed the second time even if database is down

我遇到了一个有趣的问题,即db.Ping()不会返回错误,即使自第一次尝试以来数据库已被终止。源代码如下:import("database/sql""fmt""log""time"_"github.com/go-sql-driver/mysql")typedatabasestruct{datasourcestringconn*sql.DB}//ConnectcreatesandinitialisesaDatabasestructfunc(db*database)Connect(server,user,password,DBPortstring)error{varerrerrordb.d

去和 Gin : Passing around struct for database context?

我刚刚开始尝试Go,我希望用它重新实现一个用node编写的API服务器。我在尝试使用依赖注入(inject)将数据库上下文作为gin中间件传递时遇到了障碍。到目前为止,我已经将其设置为:main.go:packagemainimport("fmt""runtime""log""github.com/gin-gonic/gin""votesforschools.com/api/public""votesforschools.com/api/models")typeDBstruct{models.DataStore}funcmain(){ConfigRuntime()ConfigServe