使用Sequel gem优化Postgres查询

时间:2017-08-04 06:00:41

标签: ruby postgresql sequel

我有一个使用Sequel gem的Ruby脚本来访问我的Postgres数据库。

目前,这是我的电话:

@db[:items].insert_conflict.insert(:sku => sku, :name => itemName)
dbItem = Item.where(:sku => sku).first
dbPrice = Price.create(:price => foundPrice, :quantity => quantity, :status => status)
dbItem.add_price(dbPrice)
store.add_price(dbPrice)

不幸的是,如果插入了密钥,insert_conflict.insert将返回密钥,如果存在,则返回nil。否则,我将能够使用一次调用(以获取已插入或已存在的实际对象,见第2行)。有没有其他方法可以将此减少到一个电话?

至于最后三个电话,我相信因为我在三个不同的模式之间添加关系,所以没有办法减少这个。但是为了以防万一,我将其包括在内。

0 个答案:

没有答案