forked from Katello/katello
/
20130318171849_migrate_environment_default_content_view_to_version.rb
44 lines (39 loc) · 1.56 KB
/
20130318171849_migrate_environment_default_content_view_to_version.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class MigrateEnvironmentDefaultContentViewToVersion < ActiveRecord::Migration
def self.up
change_column :content_views, :environment_default_id, :integer, :null=>true
Organization.all.each do |org|
default_view = ContentView.create!(:name=>"Default Organization View",
:organization=>org,
:default=>true)
(org.environments + [org.library]).each do |env|
old_view = ContentView.where(:environment_default_id=>env.id).first
cve = old_view.content_view_environments.first
version = ContentViewVersion.find(old_view.version(env))
version.content_view = default_view
version.save!
cve.content_view = default_view
cve.save!
old_view.destroy
end
default_view.save!
end
remove_column :content_views, :environment_default_id
end
def self.down
add_column :content_views, :environment_default_id, :integer, :null=>true
Organization.all.each do |org|
org_default_view = org.default_content_view
(org.environments + [org.library]).each do |env|
cv = ContentView.create!(:organization=>org, :name=>"Default View for #{env.name}",
:default=>true, :environment_default_id=>env.id)
cve = org_default_view.content_view_environments.where(:environment_id=>env.id).first
cve.content_view = cv
cve.save!
version = org_default_view.version(env)
version.content_view = cv
version.save!
end
org_default_view.destroy
end
end
end