0
我有一個端點,它將獲取與我的模型對應的對象列表。我想把這個集合當作整個Model的表,並且在每次調用Post時自動刪除並重新填充它。除了對列表中的每個元素執行Model.delete_all
然後Model.create
之外,還有其他方法可以執行此操作嗎?如果它很重要,我們在ActiveRecord中使用MySQL和附帶的適配器。完全覆蓋Rails中的集合ActiveRecord
我有一個端點,它將獲取與我的模型對應的對象列表。我想把這個集合當作整個Model的表,並且在每次調用Post時自動刪除並重新填充它。除了對列表中的每個元素執行Model.delete_all
然後Model.create
之外,還有其他方法可以執行此操作嗎?如果它很重要,我們在ActiveRecord中使用MySQL和附帶的適配器。完全覆蓋Rails中的集合ActiveRecord
我不確定這種行爲的用例是什麼,所以我不會試圖提供一個關於算法決策的建議(儘管乍一看,這聽起來像是一個奇怪的決定,和重新填充)。無論如何,假設你已經計劃好了,並決定你真的要放棄並重新填充,那麼delete_all
然後create
應該做的伎倆。
您可以create
在同一時間多個對象(或者你可以看看的批量導入寶石,使這一進程更快一點。[1]你應該記住
一件事是保持整個代碼在一個事務中,這樣的情況下,覆育失敗,你不會失去所有的數據:
ModelName.transaction do
ModelName.delete_all
ModelName.import [:col1, :col2], new_records
end
重新填充這是在同一個表中刪除相同的數據? – s1mpl3
新數據集,覆蓋舊的數據集。 –
只需更新收集記錄。 –