ActiveRecord::Migration::CommandRecorder records commands done during a migration and knows how to reverse those commands. The CommandRecorder knows how to invert the following commands:
add_column
add_index
add_timestamps
create_table
remove_timestamps
rename_column
rename_index
rename_table
Returns a list that represents commands that are the inverse of the commands stored in commands. For example:
recorder.record(:rename_table, [:old, :new]) recorder.inverse # => [:rename_table, [:new, :old]]
This method will raise an IrreversibleMigration exception if it cannot invert the commands.
# File lib/active_record/migration/command_recorder.rb, line 39 def inverse @commands.reverse.map { |name, args| method = :"invert_#{name}" raise IrreversibleMigration unless respond_to?(method, true) send(method, args) } end
Generated with the Darkfish Rdoc Generator 2.