小编jpa*_*dvo的帖子

向postgres表添加空列是否会导致锁定?

我想我在某个地方读到ALTER TABLE foo ADD COLUMN baz text在postgres数据库上运行不会导致读或写锁定.设置默认值会导致锁定,但允许null默认值会阻止锁定.

但是,我在文档中找不到这个.任何人都可以指出一个地方,明确地说,如果这是真的吗?

postgresql alter-table

26
推荐指数
3
解决办法
2万
查看次数

如何在Safari 7中切换源映射?

Safari 7检查器将编译好的javascript线性映射回来自它的coffeescript.但是,有时我想直接与检查器中编译的javascript进行交互.如何切换源映射,以便我可以使用原始javascript?

safari source-maps safari-web-inspector

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

如何阻止Rails 3.1迁移在事务中运行?

我想为生产数据库添加索引.幸运的是我们正在运行Postgres,它很好地允许并发索引,因此我们可以添加一个没有停机时间的索引.无法从事务中添加catch - 并发索引,并且rails迁移会将事务中的所有内容包装起来.

幸运的是,有些东西看起来像一个非常简单的解决方案:覆盖ActiveRecord :: Migration私有方法ddl_transaction,如此处所述.

class IndexUsersEmails < ActiveRecord::Migration
  def ddl_transaction(&block)
    block.call # do not start a transaction
  end

  def self.up
    execute "CREATE INDEX CONCURRENTLY index_users_on_email ON users(email)"
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是它似乎在Rails 3.1中不起作用.我完全按照Gist中的代码执行操作,并且rails似乎完全忽略它.关于去哪里的任何想法?

ruby-on-rails rails-migrations

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

什么可能导致jQuery本身内部随机出现的错误?

我正在反对这一点.每5-10次我重新加载我的应用程序,我得到一个源自jQuery的奇怪错误.我尝试在非压缩版本的jQuery中添加断点以尝试从错误中退出,但Chrome永远不会为它们停止,而是始终跳过错误.

我正在使用jQuery 1.7.2,但在1.7和1.6.1版本中也会出现此错误.

在我的javascript应用程序中,我将这行代码称为:

this.element.find('.banner-btn')
Run Code Online (Sandbox Code Playgroud)

this.elementjQuery对象在哪里?这没有理由导致问题,10次中有9次没有问题.但随机的东西会中断,然后每次调用该行代码时,结果都是此堆栈跟踪的一些变体:

Uncaught TypeError: Cannot call method 'apply' of undefined
makeArrayjquery-1.7.2.js:4858
Sizzlejquery-1.7.2.js:5110
jQuery.fn.extend.findjquery-1.7.2.js:5432
Run Code Online (Sandbox Code Playgroud)

事实上,在这个打破之后的任何时候我都会调用$ .fn.find我得到这个错误.我已经尝试了各种各样的东西,我一直在阅读jQuery源代码,而且我无法在这方面做到.任何人都知道该把它钉在哪里?

更新:进一步沿着兔子洞

我已经将这个进一步追踪到jQuery库中,并找到了错误首次出现的位置.的种类.

为了跟踪DOM遍历,jQuery使用pushStack方法.这是在jQuery.fn.find方法中调用的,应该返回一个jQuery对象.它通常会这样做 - 但是当jQuery内部出现错误时,此函数只返回一个常规对象,没有jQuery好东西.这会导致错误.

好的,这是pushStack的第一个小部分源代码,在jquery-1.7.2.js的第241行定义:

// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems, name, selector ) {
if(window._debug_jQuery_pushStack) { debugger }
    // Build a new jQuery matched element set
    var ret = this.constructor();

// ---- the function …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

如何取消订阅Bacon.js中的处理程序?

我正在学习使用梦幻般的Bacon.js库进行功能反应式编程.将处理程序添加到属性或流很容易:

handler = function(value){... do something ...}
property.onValue(handler)
Run Code Online (Sandbox Code Playgroud)

在某个地方说我要取消这个订阅,就像这样(伪代码):

property.unsubscribe(handler)
Run Code Online (Sandbox Code Playgroud)

有没有办法用Bacon.js做到这一点?

bacon.js

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

在实时数据库上运行迁移是否安全?

我有一个简单的rails支持的应用程序,每天从Heroku Ronin数据库运行2-3百万次网页浏览.但是,数据库上的负载非常轻,而且它可以处理的比我们投入的要多得多.

在不进入维护模式的情况下运行迁移以将表添加到此数据库是否安全?另外,运行迁移是否可以安全地将几列添加到核心表中,几乎所有的读写操作都是如此?

停机是不可接受的,即使是几分钟.

如果不建议实时运行迁移,我可能会做的是设置一个新数据库,对其进行迁移,编写脚本以同步两个数据库,然后将应用程序指向新数据库.

但如果可能的话,我宁愿避免这样做.:)

migration postgresql ruby-on-rails

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