Mercurial > hg > soundsoftware-site
comparison plugins/redmine_checkout/db/migrate/20100512135418_consolidate_repository_options.rb @ 1484:51364c0cd58f redmine-2.4-integration
Merge from live branch. Still need to merge manually in files overridden by plugins.
author | Chris Cannam |
---|---|
date | Wed, 15 Jan 2014 09:59:14 +0000 |
parents | b4b72f1eb644 |
children |
comparison
equal
deleted
inserted
replaced
1464:261b3d9a4903 | 1484:51364c0cd58f |
---|---|
1 class ConsolidateRepositoryOptions < ActiveRecord::Migration | |
2 class Repository < ActiveRecord::Base | |
3 def self.inheritance_column | |
4 # disable single table inheritance | |
5 nil | |
6 end | |
7 | |
8 serialize :checkout_settings, Hash | |
9 end | |
10 | |
11 def self.up | |
12 add_column :repositories, :checkout_settings, :text | |
13 | |
14 Repository.all.each do |r| | |
15 r.checkout_settings = { | |
16 "checkout_url_type" => r.checkout_url_type, | |
17 "checkout_url" => r.checkout_url, | |
18 "display_login" => r.display_login, | |
19 "render_type" => r.render_type, | |
20 "checkout_url_overwrite" => r.checkout_url_overwrite | |
21 } | |
22 r.save! | |
23 end | |
24 remove_column :repositories, :checkout_url_type | |
25 remove_column :repositories, :checkout_url | |
26 remove_column :repositories, :display_login | |
27 remove_column :repositories, :render_type | |
28 remove_column :repositories, :checkout_url_overwrite | |
29 end | |
30 | |
31 def self.down | |
32 add_column :repositories, :checkout_url_type, :string, :default => nil, :null => true | |
33 add_column :repositories, :checkout_url, :string, :default => nil, :null => true | |
34 add_column :repositories, :display_login, :string, :default => nil, :null => true | |
35 add_column :repositories, :render_type, :string, :default => 'url', :null => false | |
36 add_column :repositories, :checkout_url_overwrite, :boolean, :default => false, :null => false | |
37 | |
38 Repository.all.each do |r| | |
39 r.checkout_url_type = r.checkout_settings["checkout_url_type"] | |
40 r.checkout_url = r.checkout_settings["checkout_url"] | |
41 r.display_login = r.checkout_settings["display_login"] | |
42 r.render_link = r.checkout_settings["render_link"] | |
43 r.checkout_url_overwrite = r.checkout_settings["checkout_url_overwrite"] | |
44 r.save! | |
45 end | |
46 | |
47 remove_column :repositories, :checkout_settings | |
48 end | |
49 end |