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