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 230 def initialize 231 @actions = [] 232 end
Public Instance Methods
reverse(&block)
click to toggle source
# File lib/sequel/extensions/migration.rb 234 def reverse(&block) 235 instance_exec(&block) 236 actions = @actions.reverse 237 # Allow calling private methods as the reversing methods are private 238 Proc.new{actions.each{|a| send(*a)}} 239 end
Private Instance Methods
add_column(*args)
click to toggle source
# File lib/sequel/extensions/migration.rb 243 def add_column(*args) 244 @actions << [:drop_column, args.first] 245 end
add_constraint(*args)
click to toggle source
# File lib/sequel/extensions/migration.rb 247 def add_constraint(*args) 248 name = args.first 249 name = name.is_a?(Hash) ? name[:name] : name 250 @actions << [:drop_constraint, name] 251 end
add_foreign_key(key, table, *args)
click to toggle source
# File lib/sequel/extensions/migration.rb 253 def add_foreign_key(key, table, *args) 254 @actions << [:drop_foreign_key, key, *args] 255 end
add_index(*args)
click to toggle source
# File lib/sequel/extensions/migration.rb 262 def add_index(*args) 263 @actions << [:drop_index, *args] 264 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 257 def add_primary_key(*args) 258 raise if args.first.is_a?(Array) 259 @actions << [:drop_column, args.first] 260 end
rename_column(name, new_name)
click to toggle source
# File lib/sequel/extensions/migration.rb 268 def rename_column(name, new_name) 269 @actions << [:rename_column, new_name, name] 270 end