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