12345678910111213141516171819202122 |
- class WebsiteAgentDoesNotUseEventUrl < ActiveRecord::Migration[4.2]
- def up
- # Until this migration, if a WebsiteAgent received Events and did not have a `url_from_event` option set,
- # it would use the `url` from the Event's payload. If the Event did not have a `url` in its payload, the
- # WebsiteAgent would do nothing. This migration assumes that if someone has wired a WebsiteAgent to receive Events
- # and has not set `url_from_event` or `data_from_event`, they were trying to use the Event's `url` payload, so we
- # set `url_from_event` to `{{ url }}` for them.
- Agents::WebsiteAgent.find_each do |agent|
- next unless agent.sources.count > 0
- if !agent.options['data_from_event'].present? && !agent.options['url_from_event'].present?
- agent.options['url_from_event'] = '{{ url }}'
- agent.save!
- puts ">> Setting `url_from_event` on WebsiteAgent##{agent.id} to {{ url }} because it is wired"
- puts ">> to receive Events, and the WebsiteAgent no longer uses the Event's `url` value directly."
- end
- end
- end
- def down
- end
- end
|