我在我的应用程序中有一个实用程序,我需要执行INSERT,UPDATE和DELETE操作的批量加载.我正在尝试围绕此创建事务,以便一旦调用此系统并将数据提供给它,就可以确保将全部或全部添加到数据库中.
关注的是这里的边界条件是什么?在一次交易中我可以拥有多少INSERT,UPDATE和DELETE?交易规模是否可配置?
任何帮助,将不胜感激.
-谢谢
我正在获取群组的Feed https://graph.facebook.com/my_group/feed,但它完全省略了群组中发布的民意调查和链接.有没有办法让民意调查与其他帖子一起?
这是我的代码的一个小描述(简化)
应用程序/工作/
class GenerateInvoiceJob < ActiveJob::Base
queue_as :default
def perform()
Invoice.create
end
end
Run Code Online (Sandbox Code Playgroud)
应用程序/模型/
class Product < ActiveRecord::Base
def buy
GenerateInvoiceJob.perform_later
end
end
Run Code Online (Sandbox Code Playgroud)
规格/工作
RSpec.describe AnotherJob, type: :job do
context "with filter" do
...
end
end
Run Code Online (Sandbox Code Playgroud)
规格/型号
RSpec.describe Product, type: :model do
describe '#buy' do
it "should generate invoice" do
Product.create().buy
expect(Invoice.all.size).to eq 1
end
end
end
Run Code Online (Sandbox Code Playgroud)
带导轨 4.2.11
当我跑步时
rspec 规格/模型/product_spec.rb
然后测试就可以了(工作已执行)
当我跑步时
rspec spec -e '应生成发票'
然后测试失败,导致作业未执行
如果我从规范/作业中删除所有测试作业然后运行
rspec spec -e '应生成发票'
然后测试就可以了(工作已执行)
我不明白为什么对某些工作进行测试会阻止其他工作的执行?有解决办法吗?
带导轨 5 和导轨 6 …
class A
def a
1
end
end
a = A.new
x = {}
a.a(**x) # => 1 in both Ruby 2.6 and 2.7
a.public_send(:a, **x) # => 1 in Ruby 2.7
Run Code Online (Sandbox Code Playgroud)
然而,在 Ruby 2.6 中:
ArgumentError: wrong number of arguments (given 1, expected 0)
Run Code Online (Sandbox Code Playgroud)
这是 2.7 之前的错误public_send//send吗__send__?您建议如何克服这种差异?
您可以在此处实时检查此故障。
database ×1
facebook ×1
postgresql ×1
rspec ×1
ruby ×1
ruby-2.6 ×1
ruby-2.7 ×1
transactions ×1