class Sequel::MigrationAlterTableReverser
Handles reversing an alter_table block in a reversible migration.
Public Class Methods
Source
# File lib/sequel/extensions/migration.rb 245 def initialize 246 @actions = [] 247 end
Public Instance Methods
Source
# File lib/sequel/extensions/migration.rb 249 def reverse(&block) 250 instance_exec(&block) 251 actions = @actions.reverse 252 # Allow calling private methods as the reversing methods are private 253 Proc.new{actions.each{|a| send(*a)}} 254 end
Private Instance Methods
Source
# File lib/sequel/extensions/migration.rb 258 def add_column(*args) 259 @actions << [:drop_column, args.first] 260 end
Source
# File lib/sequel/extensions/migration.rb 262 def add_constraint(*args) 263 name = args.first 264 name = name.is_a?(Hash) ? name[:name] : name 265 @actions << [:drop_constraint, name] 266 end
Source
# File lib/sequel/extensions/migration.rb 268 def add_foreign_key(key, table, *args) 269 @actions << [:drop_foreign_key, key, *args] 270 end
Source
# File lib/sequel/extensions/migration.rb 277 def add_index(*args) 278 @actions << [:drop_index, *args] 279 end
Also aliased as: add_full_text_index, add_spatial_index
Source
# File lib/sequel/extensions/migration.rb 272 def add_primary_key(*args) 273 raise if args.first.is_a?(Array) 274 @actions << [:drop_column, args.first] 275 end
Source
# File lib/sequel/extensions/migration.rb 283 def rename_column(name, new_name) 284 @actions << [:rename_column, new_name, name] 285 end
Source
# File lib/sequel/extensions/migration.rb 287 def set_column_allow_null(name, allow_null=true) 288 @actions << [:set_column_allow_null, name, !allow_null] 289 end