我有两个表:产品和推荐。两个表中的前200万条记录包含相同的数据,然后对于大约10万条记录有所不同。基本上这些表包含产品ID,我需要编写一个调用API来更新每个产品/推荐属性(标题,价格等)的脚本。是否可以同时更新两个表上的属性而不是更新产品模型属性,并且基本上使用相同的脚本来更新推荐模型?
Api Parser:
def get_item_info(id)
url_raw = URI.parse("url_id=#{id}")
url = Net::HTTP.get_response(url_raw).body
if url.empty?
@title = "Product Unavailable via API"
@prod_url = "url"
@cover_img = "image"
@price = "Product Unavailable via API"
else
begin
@response1 = JSON.parse(url)
@title = @response1["ProductName"]
@prod_url = "#{@response1["ProductUrl"]}"
@cover_img = @response1["ImagePath"].gsub("75X75.gif", "180X180.jpg")
@price = @response1["currentItemPrice"]
rescue
end
end
end
我目前正在实时获取这些数据并将其发送到我的视图中。我想将图像和标题保存到我的数据库,以加快页面加载时间。我的产品和推荐表都具有相同的模式,我需要更新两个表上的相同列。
答案 0 :(得分:0)
您可以直接从数据库中使用触发器方法。 例如,使用 SQLite
CREATE TRIGGER 'triggername'
AFTER 'event' ON 'tablename'
WHEN 'condition'
BEGIN
UPDATE 'tablename2' SET 'field' = 'value'
WHERE 'condition';
END
......你不必考虑它!!!!