annotate plugins/redmine_checkout/db/migrate/20100512135418_consolidate_repository_options.rb @ 1628:9c5f8e24dadc live tip

Quieten this cron script
author Chris Cannam
date Tue, 25 Aug 2020 11:38:49 +0100
parents b4b72f1eb644
children
rev   line source
Chris@16 1 class ConsolidateRepositoryOptions < ActiveRecord::Migration
Chris@16 2 class Repository < ActiveRecord::Base
Chris@16 3 def self.inheritance_column
Chris@16 4 # disable single table inheritance
Chris@16 5 nil
Chris@16 6 end
Chris@16 7
Chris@16 8 serialize :checkout_settings, Hash
Chris@16 9 end
Chris@16 10
Chris@16 11 def self.up
Chris@16 12 add_column :repositories, :checkout_settings, :text
Chris@16 13
Chris@16 14 Repository.all.each do |r|
Chris@16 15 r.checkout_settings = {
Chris@16 16 "checkout_url_type" => r.checkout_url_type,
Chris@16 17 "checkout_url" => r.checkout_url,
Chris@16 18 "display_login" => r.display_login,
Chris@16 19 "render_type" => r.render_type,
Chris@16 20 "checkout_url_overwrite" => r.checkout_url_overwrite
Chris@16 21 }
Chris@16 22 r.save!
Chris@16 23 end
Chris@16 24 remove_column :repositories, :checkout_url_type
Chris@16 25 remove_column :repositories, :checkout_url
Chris@16 26 remove_column :repositories, :display_login
Chris@16 27 remove_column :repositories, :render_type
Chris@16 28 remove_column :repositories, :checkout_url_overwrite
Chris@16 29 end
Chris@16 30
Chris@16 31 def self.down
Chris@16 32 add_column :repositories, :checkout_url_type, :string, :default => nil, :null => true
Chris@16 33 add_column :repositories, :checkout_url, :string, :default => nil, :null => true
Chris@16 34 add_column :repositories, :display_login, :string, :default => nil, :null => true
Chris@16 35 add_column :repositories, :render_type, :string, :default => 'url', :null => false
Chris@16 36 add_column :repositories, :checkout_url_overwrite, :boolean, :default => false, :null => false
Chris@16 37
Chris@16 38 Repository.all.each do |r|
Chris@16 39 r.checkout_url_type = r.checkout_settings["checkout_url_type"]
Chris@16 40 r.checkout_url = r.checkout_settings["checkout_url"]
Chris@16 41 r.display_login = r.checkout_settings["display_login"]
Chris@16 42 r.render_link = r.checkout_settings["render_link"]
Chris@16 43 r.checkout_url_overwrite = r.checkout_settings["checkout_url_overwrite"]
Chris@16 44 r.save!
Chris@16 45 end
Chris@16 46
Chris@16 47 remove_column :repositories, :checkout_settings
Chris@16 48 end
Chris@16 49 end