Sha256: 410aef63cae638acd06fe5b7083a916253d0f8e0433cd6647ba9a17fcdb59490

Contents?: true

Size: 842 Bytes

Versions: 48

Compression:

Stored size: 842 Bytes

Contents

class RemoveActivityChannels < ActiveRecord::Migration
  class Channel < ActiveRecord::Base; end

  def up
    change_table :activities do |t|
      t.references :author
      t.references :user_author
      t.references :owner
    end

    Activity.record_timestamps = false
    Activity.reset_column_information

    Activity.all.each do |a|
      c = Channel.find a.channel_id
      %w{ author_id user_author_id owner_id }.each do |m|
        a.__send__ "#{ m }=", c.__send__(m) # a.author_id = c.author_id
      end
      a.save!
    end

    Activity.record_timestamps = true

    remove_foreign_key :activities, :name => 'index_activities_on_channel_id'
    remove_column :activities, :channel_id

    Activity.reset_column_information

    drop_table :channels
  end

  def down
    raise ActiveRecord::IrreversibleMigration
  end
end

Version data entries

48 entries across 48 versions & 2 rubygems

Version Path
social_stream-1.1.12 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.11 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.11 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.10 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.10 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.9 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.9 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.8 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.8 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.7 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.7 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.6 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.6 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.5 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.5 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.4 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.4 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.3 base/db/migrate/20120526171311_remove_activity_channels.rb
social_stream-base-1.1.3 db/migrate/20120526171311_remove_activity_channels.rb
social_stream-1.1.2 base/db/migrate/20120526171311_remove_activity_channels.rb