草庐IT

database-design

全部标签

database - 使用 sql.Open 进行 SQLite3 数据库连接

我是golang的新手,我很难连接到本地机器上托管的SQLite3数据库。我创建了SQLite3数据库,并完成了一些我喜欢的教程,但它们没有用。目前我的代码基于另一个post但我仍然无法与我的数据库建立连接。我相信我的问题出在我使用“sql.Open”上,因为即使咨询了我也不清楚我需要提供的信息thesqlpackage.代码构建良好但报告unabletoopendatabasefileerrorTwotripped当我尝试运行下面的代码时packagemainimport("database/sql""fmt"_"github.com/go-sql-driver/mysql"_"gi

design-patterns - Web 应用程序的 Go Lang 文件夹结构

如您所知,Go是OOPimo的一种现代方法,它具有一些出色的功能,例如强制您使用组合而不是继承。我只是想了解如何根据文件夹和包结构设计编写良好的go代码。我只是想知道这种类似React的方法是否可行(如下所示-将应用程序作为组件划分到不同的包中)?或者你能给我一个例子、链接、关于网络api的文件夹/打包的良好结构的想法。Go将只是我的开源项目后台的一个api,在客户端,我计划有一个单页的React应用顺便说一下。非常感谢, 最佳答案 标准Go项目布局GitHub上有一个Repo,有很多星标(截至撰写时为22k)这种方法实际上非常完整

Go 中的数据库继承

我有一种情况,我有一个基本类型,我们称它为Pet类型(不是真正的类型,而是一个恰当的例子),以及这种类型的6个底层变体,它们都可以有自己的拥有自己的个人领域。假设它们是不同类型的宠物,例如Dog、Cat、Bird等。现在它们都组织在同一个表中称为pets,但我认为将每种类型分解成它们自己的表(dogs、cats、birds等),然后从主pets表继承字段。明确地说,我的每个子表都有不适用于任何其他子类型的唯一字段。我正在使用database/sql,我会像这样查询数据:vargetPetsQuery=fmt.Sprintf(`SELECT%vFROMpets`)func(tx*Tx)G

database - 在使用带有 Postgres 的 Go sqlx 包运行 UPDATE 查询时,您能否检索更新行的列表?

我有一个查询,我正在使用Go的sqlx包(标准数据库/sql包的扩展)和Postgres数据库运行。它看起来像这样:result,err:=s.getDB(tx).Exec(`UPDATEtable_nameSETvar_name=0WHEREvar_name=1;`)iferr!=nil{returnnil,err}在不使用托管事务的情况下,如何检索更新行的列表?或者至少更新行的主键列表? 最佳答案 使用PostgreSQL'sRETURNINGclause和db.Query/db.Select变体而不是Exec,例如//gett

database - 如何编写与数据库无关的函数以使其更易于单元测试

TLDR:对使用数据库作为其数据源但数据源不必是数据库(即函数不知道)的函数进行单元测试的最佳方法是什么数据的来源。例如,它可以是对象等)?=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=我试图找出使用数据库作为其数据源(通过其参数传递)的单元测试函数的最佳实践是什么,但数据源不必是数据库(例如,它可以是一个对象等)。我添加子句“数据源不必是数据库”的原因是因为我不想在单元测试期间使用数据库。那么,如何编写与数据库无关的函数?一种可能的方法是提供一个保存数据源的“env”参数,如下所示:typeEnvstru

database - Go MongoDB (mgo) - 不释放关闭的连接

我的MongoDB数据库的事件连接数量快速增长。我编写了一段代码来测试连接创建/关闭流程的工作原理。这段代码总结了我如何使用mgo我项目中的库。packagemainimport("time""fmt""gopkg.in/mgo.v2")funcmain(){//Noconnections//db.serverStatus().connections.current=6mongoSession:=connectMGO("localhost","27017","admin")//1newconnectioncreated//db.serverStatus().connections.cu

database - 记录两次插入数据库

我在Go中有如下代码:packagemainimport("database/sql""log"_"github.com/lib/pq")const(insertLoginSQL=`insertintoLogins(id,name,password)values($1,$2,$3)`)funcmain(){db,err:=sql.Open("postgres","user=postgrespassword=admindbname=Qualitysslmode=disable")iferr!=nil{log.Fatal(err)}deferdb.Close()iferr:=Insert(

android - 在 android.support.design.widget.TabLayout 中设置选项卡的宽度?

我正在为我的Viewpager使用选项卡,这是现在的XML:它们看起来很棒,但我希望能够有更多选项卡,而不是让所有内容都挤在屏幕上。但是我不喜欢切换到可滚动的tabMode,因为那样的话一切都会变平并且看起来很乱。如何设置各个选项卡的宽度? 最佳答案 TabLayout不提供特定选项卡固定宽度的属性。但是您可以设置最小和最大宽度。tabMinWidthandtabMaxWidthhttps://developer.android.com/reference/android/support/design/widget/TabLayou

mysql - 将 XML/JSON 存储在 MySQL 列中总是不好的吗?

我有一个事件组织者,用户可以在其中创建一个或多个与事件关联的自定义类Excel电子表格。该事件还将包含一些注释、日期和其他适合SQL数据库的基本信息。显然,我无法为每个用户的电子表格创建一个表。电子表格中的数据不必与数据库中的任何内容相关。工作表本身会与用户和事件相关,但里面的数据是自包含的,没有严格的数据类型。如果没有关系,只使用XML列是不是很糟糕?除了本地存储,还有更好的存储位置吗? 最佳答案 嗯,这不一定是坏事。只是当你将XML或JSON的blob存储到一个字段时,你不能对它做任何事情,除了读取和覆盖。在此blob内的项目上

mysql - 国家列表的最佳实践(SQL、XML、...)

在开发网站或Web应用程序时,我想知道当您需要世界国家/地区列表时最佳做法是什么-在SQL中使用国家/地区表,将所有值存储到XML或其他方式更好吗?例如,假设我需要为每个用户存储国家/地区(在SQL中),并且我需要在我网站的一个(或多个)下拉列表中使用国家/地区列表。 最佳答案 如果您想为每个用户存储国家(可能最适合将CountryId保存在用户表中),您应该有单独的国家表,以及从用户表到国家表的FOREIGNKEY引用。您还可以在国家名称更改时使用管理面板添加/更改国家名称。但有趣的是,您需要在每次加载页面时查询数据库,以获取“几