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 231
def initialize
  @actions = []
end

Public Instance Methods

reverse(&block) click to toggle source
# File lib/sequel/extensions/migration.rb, line 235
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 243
def add_column(*args)
  @actions << [:drop_column, args.first]
end
add_constraint(*args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 247
def add_constraint(*args)
  name = args.first
  name = name.is_a?(Hash) ? name[:name] : name
  @actions << [:drop_constraint, name]
end
add_foreign_key(key, table, *args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 253
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 262
def add_index(*args)
  @actions << [:drop_index, *args]
end
add_primary_key(*args) click to toggle source
# File lib/sequel/extensions/migration.rb, line 257
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 268
def rename_column(name, new_name)
  @actions << [:rename_column, new_name, name]
end