0
外部URLからJSONデータを取得してデータベースに保存するcronジョブを持っています。私は、最新のレーキタスク以降に変更された、新しいレコードだけを追加または更新するオプションを探しています。現時点では、古いデータを作成するだけです。RailsとJSONのデータは、更新されたか新しく更新されたかだけを返します。
のRakeタスク
namespace :properties do
desc "Save Properties from API to database"
task upload: :environment do
json = JSON.parse('{"Property":[{"id":"1","street":"123 Fake Street","town":"Someplace","postcode":"000000"}]}')
json['Property'].each do |data|
property = Property.create
property.id = data['id']
property.street = data['street']
property.town = data['town']
property.postcode = data['postcode']
property.save
end
end
end
find_or_create_by - https://apidock.com/rails/v4.0.2/ActiveRecord/Relation/find_or_create_by – Sajin
Thanks Sajinを使用できます。それは正しい方向に私を導く。 – DollarChills