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_index(*args)
click to toggle source
# File lib/sequel/extensions/migration.rb, line 254 def add_index(*args) @actions << [:drop_index, *args] end
Also aliased as: add_full_text_index, add_spatial_index
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
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