小编b0x*_*d1n的帖子

Postgres drop database错误:pq:无法删除当前打开的数据库

我正在尝试删除我当前连接的数据库,但我收到此错误:

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)

我想我可以连接到另一个数据库,然后在该连接上执行它,但我甚至不确定它是否有效,并且为了删除不同的数据库而必须连接到新数据库似乎很奇怪.有任何想法吗?谢谢.

postgresql go

16
推荐指数
5
解决办法
3万
查看次数

Rails包含第三方Javascript库文件

我有一个用于AJAX文件上传的Javascript库,我只需要在一个页面上包含它.这个文件的最佳文件夹在哪里?app/assets/javascriptsvendor/assets/javascriptslib/assets/javascripts?然后我需要能够将它包含在一个页面上.或者我应该将它添加到application.js每个页面并将其包含在每个页面中(甚至知道我只在一个页面上使用它?)

我认为性能我最好的选择是将缩小的JS文件放在某个地方,然后将它包含javascript_include_tag在我需要它的页面上,使用yield(:head)content_for(:head)?谢谢.

javascript assets ruby-on-rails

9
推荐指数
1
解决办法
7976
查看次数

Golang postgres错误常数?

我正在尝试使用postgres驱动程序(lib/pq)删除数据库,方法是:

db.Exec("DROP DATABASE dbName;")

但是我想根据收到的错误是奇怪的,还是"数据库不存在"错误来做一个不同的条件.

我的问题是,是否有一个常量变量或我可以用来检查返回的错误是否是"数据库不存在"错误消息,或者我是否必须自己手动解析错误字符串?

我试着查看文档,但找不到"数据库不存在"的任何内容.不过我找到了这个列表:https://www.postgresql.org/docs/9.3/static/errcodes-appendix.html

也许它适合其他一些错误代码?另外,我不太确定通过Postgres驱动程序获取和比较错误代码的语义正确方法.我认为我应该做这样的事情?:

if err.ErrorCode != "xxx"

谢谢.

database postgresql go

6
推荐指数
1
解决办法
2726
查看次数

如何在不使用Next()的情况下获取sql.Rows的数量?

*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语句过于复杂,我宁愿尽可能避免篡改他们的构建请求.

谢谢.

sql database go

6
推荐指数
1
解决办法
2143
查看次数

升级Rails 3.2到4.2 - >无法加载这样的文件--resque_scheduler/tasks

我正在尝试升级我的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

5
推荐指数
1
解决办法
1655
查看次数

Golang模板(并将func传递给模板)

当我尝试访问我传递给我的模板的函数时,我收到错误:

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)

templates go go-templates

4
推荐指数
2
解决办法
5515
查看次数

Golang模板范围换行符删除

我试图弄清楚如何删除{{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)

有任何想法吗?

templates go

4
推荐指数
1
解决办法
6052
查看次数

使用Jquery计算HTML字符串元素

我有一个获取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.

html javascript ajax jquery

3
推荐指数
1
解决办法
957
查看次数

IE iframe下载导致安全警告

我的应用程序接收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)

如果有人可以帮助我,那就太好了!谢谢.

javascript ajax iframe internet-explorer

2
推荐指数
1
解决办法
4807
查看次数

如何获取 ARRAY 列的维数?

我正在开发一个项目,该项目直接从数据库收集有关架构的信息。我可以data_type使用 获取该列的information_schema.columns,它会告诉我它ARRAY是否是一个。我还可以通过查询来获取 的基础类型(integerbytea),如下所述:ARRAYinformation_schema.element_types

https://www.postgresql.org/docs/9.1/static/infoschema-element-types.html

我的问题是我还需要知道数组有多少维,是否是integer[],或者integer[][]例如。有谁知道有什么方法可以做到这一点?Google 在这里并没有提供太多帮助,希望更熟悉 Postgres 规范的人可以引导我走向正确的方向。

arrays postgresql information-schema

1
推荐指数
1
解决办法
1677
查看次数

一切顺利都是睡着了

我正在学习如何进行并发,并且我已将其编写为自己的应用程序,以便我可以在它工作后将其移植到不同的项目中.

我正在添加它的项目基本上将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)

concurrency multithreading go

0
推荐指数
1
解决办法
78
查看次数