mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Add rake task to set conference_id in pre-existing versions
This commit is contained in:
parent
a45e537bac
commit
8a4a9552af
1 changed files with 21 additions and 0 deletions
21
lib/tasks/version.rake
Normal file
21
lib/tasks/version.rake
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
namespace :data do
|
||||
desc 'Sets conference_id in all pre-existing PaperTrail::Version objects'
|
||||
task set_conference_in_versions: :environment do
|
||||
|
||||
PaperTrail::Version.where(conference_id: nil, item_type: ['Conference', 'Event']).each do |version|
|
||||
# All pre-existing versions are either of Conference or Event
|
||||
if version.item_type == 'Conference'
|
||||
version.update_attributes(conference_id: version.item_id)
|
||||
|
||||
elsif version.item_type == 'Event'
|
||||
event = (version.item || version.reify || version.next.reify)
|
||||
if event.try(:program)
|
||||
version.update_attributes(conference_id: event.program.conference_id)
|
||||
else
|
||||
puts "Setting conference_id value failed for PaperTrail::Version object with ID=#{version.id}"
|
||||
end
|
||||
end
|
||||
end
|
||||
puts 'All done!'
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue