Sha256: ceb12f4a8d2cf516268ff2ba154952c90c0cf94dc5d3f75e5e96677ce7d40418

Contents?: true

Size: 1021 Bytes

Versions: 68

Compression:

Stored size: 1021 Bytes

Contents

class ChangeColumnBitCoreSlideshowsToNullFalse < ActiveRecord::Migration
  def up
    BitCore::Slideshow.all.each do |slideshow|
      if Arm.count > 0
        slideshow.arm_id = Arm.first.id
      else
        arm_for_orphaned_slideshows = Arm.find_or_create_by(title: "Arm for orphaned slideshows")
        slideshow.arm_id = arm_for_orphaned_slideshows.id        
      end
      slideshow.save!
    end

    change_column_null :bit_core_slideshows, :arm_id, false

    # add foreign key constaint
    execute <<-SQL
      ALTER TABLE bit_core_slideshows
        ADD CONSTRAINT fk_bit_core_slideshows_arms
        FOREIGN KEY (arm_id)
        REFERENCES arms(id)
    SQL
  end

  def down
    change_column_null :bit_core_slideshows, :arm_id, true

    BitCore::Slideshow.all.each do |slideshow|
      slideshow.arm_id = nil
      slideshow.save!
    end

    # remove foreign key constaint
    execute <<-SQL
      ALTER TABLE bit_core_slideshows
        DROP CONSTRAINT fk_bit_core_slideshows_arms
    SQL
  end
end

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
think_feel_do_engine-3.22.9 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.8 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.7 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.6 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.5 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.4 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.2 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.1 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.22.0 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.21.2 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.21.1 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.21.0 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.20.1 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.19.9 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.19.8 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.19.7 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.19.6 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.19.5 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.19.4 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb
think_feel_do_engine-3.19.3 db/migrate/20141202173458_change_column_bit_core_slideshows_to_null_false.rb