2013-05-08 26 views
0

我有兩個表格:產品和建議。兩個表上的前200萬條記錄包含相同的數據,然後在大約100k條記錄中有所不同。基本上這些表包含產品ID,我需要編寫一個調用API來更新每個產品/推薦屬性(標題,價格等)的腳本。是否可以同時更新兩個表上的屬性,而不是更新產品模型屬性,並且基本上使用相同的腳本來更新推薦模型?在Rails中同時更新兩個表格

阿比分析器:

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

你的腳本和/或你的api是什麼樣的? – Raindal 2013-05-08 17:17:26

+0

請問您可以粘貼一些代碼嗎? – 2013-05-08 17:18:47

+0

用代碼更新。 – Yogzzz 2013-05-08 17:34:23

回答

0

你可以使用觸發器方法直接從你的db。 例如,SQLite的

CREATE TRIGGER 'triggername' 
AFTER 'event' ON 'tablename' 
WHEN 'condition' 
BEGIN 
    UPDATE 'tablename2' SET 'field' = 'value' 
    WHERE 'condition'; 
END 

...你不必去想它!!!!