Activerecord 使用delete_all和make时rails 3中的mysql超时错误!分步定义

Activerecord 使用delete_all和make时rails 3中的mysql超时错误!分步定义,activerecord,transactions,ruby-on-rails-3,cucumber,Activerecord,Transactions,Ruby On Rails 3,Cucumber,我在cucumber步骤定义中使用以下构造 Given "I have following stuff" do Model.delete_all list.each { |i| Model.make!(:name => i) } end (make!来自机械师2) 上述步骤因INSERT语句超时而失败。当我为test、environment打开控制台时,我可以毫无问题地执行每条语句。另外,如果我禁用事务性功能,超时就会消失 谁能帮我修一下吗?(运行时rails 2.x没有

我在cucumber步骤定义中使用以下构造

Given "I have following stuff" do
   Model.delete_all

   list.each { |i| Model.make!(:name => i) } 
end
(make!来自机械师2)

上述步骤因INSERT语句超时而失败。当我为test、environment打开控制台时,我可以毫无问题地执行每条语句。另外,如果我禁用事务性功能,超时就会消失

谁能帮我修一下吗?(运行时rails 2.x没有问题)


(数据库MySQL)

这是我使用的machinist beta版的一个问题。我不是100%确定出了什么问题,但是当我使用纯ActiveRecord代码来创建对象时,而不是使用make!成功了


然后我换成了Factory_Girl而不是machinist,现在它工作正常。

确切的错误消息是什么?Mysql2::error:Lock wait timeout extered;尝试重新启动事务:插入
模型
(值…)SQL(0.8ms)回滚SQL(39.5ms)回滚对延迟回复表示担忧。提前谢谢你的帮助。