class Sequel::MigrationAlterTableReverser
Handles reversing an alter_table block in a reversible migration.
def add_column(*args)
def add_column(*args) @actions << [:drop_column, args.first] end
def add_constraint(*args)
def add_constraint(*args) @actions << [:drop_constraint, args.first] end
def add_foreign_key(*args)
def add_foreign_key(*args) raise if args.first.is_a?(Array) @actions << [:drop_column, args.first] end
def add_index(*args)
def add_index(*args) @actions << [:drop_index, *args] end
def initialize
def initialize @actions = [] end
def rename_column(name, new_name)
def rename_column(name, new_name) @actions << [:rename_column, new_name, name] end
def reverse(&block)
def reverse(&block) instance_eval(&block) actions = @actions.reverse Proc.new{actions.each{|a| send(*a)}} end