Я пытаюсь вставить данные в свою базу данных с помощью ActiveRecord.
Когда я использую pdays = MyModel.new
для инициализации, а не ниже find_or_initialize_by
, script работает нормально. Но он ТОЛЬКО работает один раз. Мне нужно, чтобы это выполнялось ежедневно, чтобы выполнять обновления. Когда я пытаюсь запустить script во второй раз с pdays = MyModel.new
, тогда не создается дублирующее ограничение ключа.
Следовательно, я пытаюсь найти ниже find_or_initialize_by с двумя аргументами, но это дает ошибку:
undefined метод `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