class Sequel::MigrationAlterTableReverser

Handles reversing an alter_table block in a reversible migration.

Public Class Methods

new() click to toggle source
# File lib/sequel/extensions/migration.rb, line 225
def initialize
  @actions = []
end

Public Instance Methods

reverse(&block) click to toggle source
# File lib/sequel/extensions/migration.rb, line 229
def reverse(&block)
  instance_eval(&block)
  actions = @actions.reverse
  Proc.new{actions.each{|a| send(*a)}}
end

Private Instance Methods

add_column(*args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 237
def add_column(*args)
  @actions << [:drop_column, args.first]
end
add_constraint(*args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 241
def add_constraint(*args)
  @actions << [:drop_constraint, args.first]
end
add_foreign_key(key, table, *args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 245
def add_foreign_key(key, table, *args)
  @actions << [:drop_foreign_key, key, *args]
end
add_full_text_index(*args)
Alias for: add_index
add_index(*args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 254
def add_index(*args)
  @actions << [:drop_index, *args]
end
add_primary_key(*args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 249
def add_primary_key(*args)
  raise if args.first.is_a?(Array)
  @actions << [:drop_column, args.first]
end
add_spatial_index(*args)
Alias for: add_index
rename_column(name, new_name) click to toggle source
# File lib/sequel/extensions/migration.rb, line 260
def rename_column(name, new_name)
  @actions << [:rename_column, new_name, name]
end