034_boolify_published.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:1k
源码类别:

Ajax

开发平台:

Others

  1. class Bare34Content < ActiveRecord::Base
  2.   include BareMigration
  3. end
  4. class BoolifyPublished < ActiveRecord::Migration
  5.   def self.up
  6.     STDERR.puts "Boolifying contents.published"
  7.     modify_tables_and_update([:rename_column, Bare34Content, :published, :old_pub],
  8.                              [:add_column,    Bare34Content, :published, :boolean, { :default => true }]) do |c|
  9.       unless $schema_generator
  10.         if c.old_pub.nil?
  11.           c.published = true
  12.         else
  13.           c.published = (!c.old_pub.to_i.zero? ? true : false)
  14.         end
  15.       end
  16.     end
  17.     remove_column :contents, :old_pub
  18.   end
  19.   def self.down
  20.     STDERR.puts "Un-Boolifying contents.published"
  21.     modify_tables_and_update([:rename_column, Bare34Content, :published, :old_pub],
  22.                              [:add_column,    Bare34Content, :published, :integer]) do |c|
  23.       unless $schema_generator
  24.         say "Old published: #{c.old_pub}"
  25.         if c.old_pub.nil?
  26.           c.published = 1
  27.         else
  28.           c.published = c.old_pub ? 1 : 0
  29.         end
  30.       end
  31.     end
  32.     remove_column :contents, :old_pub
  33.   end
  34. end