我正在尝试使用ActiveRecord在数据库中插入数据。
当我使用pdays = MyModel.new
而不是下面的find_or_initialize_by
进行初始化时,脚本可以正常运行。但是它只能运行一次。我需要每天运行以执行更新。当我第二次尝试使用pdays = MyModel.new
运行脚本时,则不会出现重复的键约束。
因此,我正在尝试下面的带有2个参数的find_or_initialize_by,但这会导致错误:
2列共同构成唯一记录:
vertica_traffic.each do |vdays|
pdays = MyModel.find_or_initialize_by([:local_dt], vdays[:community_id])
pdays[:local_date] = vdays_traffic[:local_d]
pdays[:community_id] = vdays_traffic[:community_id]
pdays[:uniquesters] = vdays_traffic[:uniques]
pdays.save
end
最佳答案
您可以尝试:
MyModel.find_or_initialize_by_local_dt_and_comunity_id([:local_dt], vdays[:community_id])
用
_and_
附加列名