我正在尝试删除我当前连接的数据库,但我收到此错误:
pq: cannot drop the currently open database
Run Code Online (Sandbox Code Playgroud)
如果我必须关闭连接,我真的不明白我是如何放弃数据库的,因为那时我认为我不能使用dbConn.Exec来执行我的DROP DATABASE语句?
dbConn *sql.DB
func stuff() error {
_, err := dbConn.Exec(fmt.Sprintf(`DROP DATABASE %s;`, dbName))
if err != nil {
return err
}
return dbConn.Close()
}
Run Code Online (Sandbox Code Playgroud)
我想我可以连接到另一个数据库,然后在该连接上执行它,但我甚至不确定它是否有效,并且为了删除不同的数据库而必须连接到新数据库似乎很奇怪.有任何想法吗?谢谢.
我有一个用于AJAX文件上传的Javascript库,我只需要在一个页面上包含它.这个文件的最佳文件夹在哪里?app/assets/javascripts?vendor/assets/javascripts?lib/assets/javascripts?然后我需要能够将它包含在一个页面上.或者我应该将它添加到application.js每个页面并将其包含在每个页面中(甚至知道我只在一个页面上使用它?)
我认为性能我最好的选择是将缩小的JS文件放在某个地方,然后将它包含javascript_include_tag在我需要它的页面上,使用yield(:head)和content_for(:head)?谢谢.
我正在尝试使用postgres驱动程序(lib/pq)删除数据库,方法是:
db.Exec("DROP DATABASE dbName;")
但是我想根据收到的错误是奇怪的,还是"数据库不存在"错误来做一个不同的条件.
我的问题是,是否有一个常量变量或我可以用来检查返回的错误是否是"数据库不存在"错误消息,或者我是否必须自己手动解析错误字符串?
我试着查看文档,但找不到"数据库不存在"的任何内容.不过我找到了这个列表:https://www.postgresql.org/docs/9.3/static/errcodes-appendix.html
也许它适合其他一些错误代码?另外,我不太确定通过Postgres驱动程序获取和比较错误代码的语义正确方法.我认为我应该做这样的事情?:
if err.ErrorCode != "xxx"
谢谢.
*sql.Rows 在开始Next()循环之前,我需要获取长度以获取值.一种方法是通过循环Next()两次,获取计数,然后循环遍历新切片以将值拉出来创建一个行切片,但这似乎效率非常低,所以我希望有更好的方法做这个.
看一下这些文档,我没有看到我可以使用的Count函数或Length函数:https://golang.org/pkg/database/sql/#Rows
看看Go代码,我在结构中看不到任何可以帮助我的东西(虽然我可能会遗漏一些东西,所以会欣赏第二双眼睛):https://github.com/golang/go/ BLOB /主/ src目录/数据库/ SQL/sql.go#L1714
当然有一些方法可以做到这一点,而不仅仅是循环Next()两次?
我知道我也可以做一个单独的计数查询,甚至在我的其他选择中包含一个count(*),但我宁愿避免这种情况.这是一个Go ORM项目,我不想让select语句过于复杂,我宁愿尽可能避免篡改他们的构建请求.
谢谢.
我正在尝试升级我的Rails 3.2项目Rails 4.2,包括我的所有依赖项Gemfile.我删除了我的旧版本号限制Gemfile,删除了我的Gemfile.lock,和bundle install.它按照我的希望升级了所有内容(据我所知),但是当我做rake时,db:setup我收到以下错误:
p@jarvis ~/g/s/g/n/j/x> rake db:setup --trace
rake aborted!
LoadError: cannot load such file -- resque_scheduler/tasks
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `block in require'
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require'
/home/p/gop/src/github.com/x/x/x/lib/tasks/resque.rake:2:in `<top (required)>'
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `block in load'
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
/var/lib/gems/2.3.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
/var/lib/gems/2.3.0/gems/railties-4.2.6/lib/rails/engine.rb:658:in `block in run_tasks_blocks'
/var/lib/gems/2.3.0/gems/railties-4.2.6/lib/rails/engine.rb:658:in `each'
/var/lib/gems/2.3.0/gems/railties-4.2.6/lib/rails/engine.rb:658:in `run_tasks_blocks'
/var/lib/gems/2.3.0/gems/railties-4.2.6/lib/rails/application.rb:452:in `run_tasks_blocks'
/var/lib/gems/2.3.0/gems/railties-4.2.6/lib/rails/engine.rb:453:in `load_tasks'
/var/lib/gems/2.3.0/gems/railties-4.2.6/lib/rails/railtie.rb:194:in `public_send'
/var/lib/gems/2.3.0/gems/railties-4.2.6/lib/rails/railtie.rb:194:in `method_missing'
/home/p/gop/src/github.com/x/x/x/Rakefile:7:in `<top (required)>'
/var/lib/gems/2.3.0/gems/rake-11.2.2/lib/rake/rake_module.rb:28:in `load'
/var/lib/gems/2.3.0/gems/rake-11.2.2/lib/rake/rake_module.rb:28:in `load_rakefile'
/var/lib/gems/2.3.0/gems/rake-11.2.2/lib/rake/application.rb:686:in `raw_load_rakefile' …Run Code Online (Sandbox Code Playgroud) rubygems ruby-on-rails resque ruby-on-rails-4 resque-scheduler
当我尝试访问我传递给我的模板的函数时,我收到错误:
Error: template: struct.tpl:3: function "makeGoName" not defined
Run Code Online (Sandbox Code Playgroud)
任何人都可以让我知道我做错了什么?
模板文件(struct.tpl):
type {{.data.tableName}} struct {
{{range $key, $value := .data.tableData}}
{{makeGoName $value.colName}} {{$value.colType}} `db:"{{makeDBName $value.dbColName}},json:"{{$value.dbColName}}"`
{{end}}
}
Run Code Online (Sandbox Code Playgroud)
调用文件:
type tplData struct {
tableName string
tableData interface{}
}
func doStuff() {
t, err := template.ParseFiles("templates/struct.tpl")
if err != nil {
errorQuit(err)
}
t = t.Funcs(template.FuncMap{
"makeGoName": makeGoName,
"makeDBName": makeDBName,
})
data := tplData{
tableName: tableName,
tableData: tableInfo,
}
t.Execute(os.Stdout, data)
}
func makeGoName(name string) string {
return name
}
func makeDBName(name string) …Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何删除{{range}}和{{end}}放在模板中的新行。我得到以下输出,没有任何“-”标签:
type {{makeGoTableName .TableName}} struct {
{{range $key, $value := .TableData}}
{{makeGoColName $value.ColName}} {{$value.ColType}} `db:"{{makeDBColName $value.ColName}}",json:"{{$value.ColName}}"`
{{end}}
}
Run Code Online (Sandbox Code Playgroud)
结果是:
type Dogs struct {
ID int64 `db:"id",json:"id"`
DogNumber int64 `db:"dog_number",json:"dog_number"`
}
Run Code Online (Sandbox Code Playgroud)
如果我像这样添加-标记,则可以使其接近理想值,但它破坏了最后一个右括号的缩进:
type {{makeGoTableName .TableName}} struct {
{{range $key, $value := .TableData -}}
{{makeGoColName $value.ColName}} {{$value.ColType}} `db:"{{makeDBColName $value.ColName}}",json:"{{$value.ColName}}"`
{{end -}}
}
Run Code Online (Sandbox Code Playgroud)
结果是:
type Dogs struct {
ID int64 `db:"id",json:"id"`
DogNumber int64 `db:"dog_number",json:"dog_number"`
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有一个获取HTML字符串的ajax请求,如:
<div class="video">...</div><div class="video">...</div>
Run Code Online (Sandbox Code Playgroud)
我想从服务器检索HTML后立即计算"视频"div的数量.是否有捷径可寻?
我试过了:
.done(function(data) {
$(data).find('.video').length
Run Code Online (Sandbox Code Playgroud)
但它返回0.
我的应用程序接收AJAX请求并使用URL来响应我的网站上的下载位置,以获取他们请求的文件.然后Javascript AJAX方法成功响应,在页面上动态创建iframe并将src设置为下载位置,以允许显示文件对话框,以便用户可以下载文件.问题是IE显示以下安全警告:
http://avnhelp.com/default_files/image004.jpg
这是一个问题的主要原因是,当他们点击接受时,它刷新页面并且文件下载丢失(我假设这是因为它是在动态创建的iframe中).
我需要一种方法来:
禁用此安全对话框提示
提示用户访问网站时接受任何未来的文件下载.
修复了刷新(从接受)文件下载丢失的事实.
这是我的iframe代码:
function create_iframe(url) {
frame = document.createElement('IFRAME');
frame.setAttribute('src', url);
frame.style.display = 'none';
document.body.appendChild(frame);
}
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我,那就太好了!谢谢.
我正在开发一个项目,该项目直接从数据库收集有关架构的信息。我可以data_type使用 获取该列的information_schema.columns,它会告诉我它ARRAY是否是一个。我还可以通过查询来获取 的基础类型(integer等bytea),如下所述:ARRAYinformation_schema.element_types
https://www.postgresql.org/docs/9.1/static/infoschema-element-types.html
我的问题是我还需要知道数组有多少维,是否是integer[],或者integer[][]例如。有谁知道有什么方法可以做到这一点?Google 在这里并没有提供太多帮助,希望更熟悉 Postgres 规范的人可以引导我走向正确的方向。
我正在学习如何进行并发,并且我已将其编写为自己的应用程序,以便我可以在它工作后将其移植到不同的项目中.
我正在添加它的项目基本上将RowInfo发送到全局QueueChannel,然后我的工作人员应该接受这项工作并处理它.如果我将具有相同ID的两行排队,并且其中一行当前正由工作人员处理,我将从队列中删除重复行(您可以在调度程序中看到我在"继续"的位置).
这个排队/工作人员代码将在阻止ListenAndServe的Web服务器上运行,因此我希望它始终保持运行,并且工作人员始终保持积极寻找工作.我不想关闭频道(除非我按c + +给应用程序或其他东西).我怀疑我得到的错误与不关闭通道有关,因为这是很多其他线程提到这个错误似乎表明,但我不确定它与我所拥有的代码有什么关系.
终端错误输出:
[~/go/src/github.com/zzz/asynch]> go run main.go
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan send]:
main.main()
/home/zzz/go/src/github.com/zzz/asynch/main.go:29 +0x14b
goroutine 5 [select]:
main.diszzzcher(0xc82001a120, 0xc82001a180, 0xc82001a1e0)
/home/zzz/go/src/github.com/zzz/asynch/main.go:42 +0x21a
created by main.main
/home/zzz/go/src/github.com/zzz/asynch/main.go:19 +0xb1
goroutine 6 [chan receive]:
main.worker(0xc82001a180, 0xc82001a1e0)
/home/zzz/go/src/github.com/zzz/asynch/main.go:55 +0x54
created by main.main
/home/zzz/go/src/github.com/zzz/asynch/main.go:24 +0xf7
goroutine 7 [chan receive]:
main.worker(0xc82001a180, 0xc82001a1e0)
/home/zzz/go/src/github.com/zzz/asynch/main.go:55 +0x54
created by main.main
/home/zzz/go/src/github.com/zzz/asynch/main.go:24 +0xf7
goroutine 8 [chan receive]:
main.worker(0xc82001a180, 0xc82001a1e0)
/home/zzz/go/src/github.com/zzz/asynch/main.go:55 +0x54
created by main.main
/home/zzz/go/src/github.com/zzz/asynch/main.go:24 +0xf7
goroutine 9 [chan …Run Code Online (Sandbox Code Playgroud) go ×6
javascript ×3
postgresql ×3
ajax ×2
database ×2
templates ×2
arrays ×1
assets ×1
concurrency ×1
go-templates ×1
html ×1
iframe ×1
jquery ×1
resque ×1
rubygems ×1
sql ×1