Handles reversing an alter_table block in a reversible migration.
# File lib/sequel/extensions/migration.rb, line 224 def initialize @actions = [] end
# File lib/sequel/extensions/migration.rb, line 228 def reverse(&block) instance_eval(&block) actions = @actions.reverse Proc.new{actions.each{|a| send(*a)}} end
# File lib/sequel/extensions/migration.rb, line 236 def add_column(*args) @actions << [:drop_column, args.first] end
# File lib/sequel/extensions/migration.rb, line 240 def add_constraint(*args) @actions << [:drop_constraint, args.first] end
# File lib/sequel/extensions/migration.rb, line 244 def add_foreign_key(key, table, *args) @actions << [:drop_foreign_key, key, *args] end
# File lib/sequel/extensions/migration.rb, line 253 def add_index(*args) @actions << [:drop_index, *args] end
# File lib/sequel/extensions/migration.rb, line 248 def add_primary_key(*args) raise if args.first.is_a?(Array) @actions << [:drop_column, args.first] end
# File lib/sequel/extensions/migration.rb, line 259 def rename_column(name, new_name) @actions << [:rename_column, new_name, name] end