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 232 def initialize 233 @actions = [] 234 end
Public Instance Methods
reverse(&block)
click to toggle source
# File lib/sequel/extensions/migration.rb 236 def reverse(&block) 237 instance_exec(&block) 238 actions = @actions.reverse 239 # Allow calling private methods as the reversing methods are private 240 Proc.new{actions.each{|a| send(*a)}} 241 end
Private Instance Methods
add_column(*args)
click to toggle source
# File lib/sequel/extensions/migration.rb 245 def add_column(*args) 246 @actions << [:drop_column, args.first] 247 end
add_constraint(*args)
click to toggle source
# File lib/sequel/extensions/migration.rb 249 def add_constraint(*args) 250 name = args.first 251 name = name.is_a?(Hash) ? name[:name] : name 252 @actions << [:drop_constraint, name] 253 end
add_foreign_key(key, table, *args)
click to toggle source
# File lib/sequel/extensions/migration.rb 255 def add_foreign_key(key, table, *args) 256 @actions << [:drop_foreign_key, key, *args] 257 end
add_index(*args)
click to toggle source
# File lib/sequel/extensions/migration.rb 264 def add_index(*args) 265 @actions << [:drop_index, *args] 266 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 259 def add_primary_key(*args) 260 raise if args.first.is_a?(Array) 261 @actions << [:drop_column, args.first] 262 end
rename_column(name, new_name)
click to toggle source
# File lib/sequel/extensions/migration.rb 270 def rename_column(name, new_name) 271 @actions << [:rename_column, new_name, name] 272 end
set_column_allow_null(name, allow_null=true)
click to toggle source
# File lib/sequel/extensions/migration.rb 274 def set_column_allow_null(name, allow_null=true) 275 @actions << [:set_column_allow_null, name, !allow_null] 276 end