class Issue2541FixNotificationEmailWithoutBody < ActiveRecord::Migration[5.1] def up # return if it's a new setup return if !Setting.find_by(name: 'system_init_done') # there might be Job/Trigger selectors referencing the current user # that get e.g. validated in callbacks UserInfo.current_user_id = 1 # update jobs and triggers [::Job, ::Trigger].each do |model| model.all.each do |record| next if record.perform.blank? %w[notification.email notification.sms].each do |action| next if record.perform[action].blank? next if record.perform[action]['body'].present? record.perform[action]['body'] = '-' record.save! end end end # re-enable jobs again scheduler = Scheduler.find_by(method: 'Job.run') return if !scheduler return if scheduler.active? scheduler.update!(active: true) end end