class Sequel::MigrationAlterTableReverser
Handles reversing an alter_table block in a reversible migration.
Public Class Methods
Source
# File lib/sequel/extensions/migration.rb 242 def initialize 243 @actions = [] 244 end
Public Instance Methods
Source
# File lib/sequel/extensions/migration.rb 246 def reverse(&block) 247 instance_exec(&block) 248 actions = @actions.reverse 249 # Allow calling private methods as the reversing methods are private 250 Proc.new{actions.each{|a| send(*a)}} 251 end
Private Instance Methods
Source
# File lib/sequel/extensions/migration.rb 255 def add_column(*args) 256 @actions << [:drop_column, args.first] 257 end
Source
# File lib/sequel/extensions/migration.rb 259 def add_constraint(*args) 260 name = args.first 261 name = name.is_a?(Hash) ? name[:name] : name 262 @actions << [:drop_constraint, name] 263 end
Source
# File lib/sequel/extensions/migration.rb 265 def add_foreign_key(key, table, *args) 266 @actions << [:drop_foreign_key, key, *args] 267 end
Source
# File lib/sequel/extensions/migration.rb 274 def add_index(*args) 275 @actions << [:drop_index, *args] 276 end
Also aliased as: add_full_text_index, add_spatial_index
Source
# File lib/sequel/extensions/migration.rb 269 def add_primary_key(*args) 270 super if args.first.is_a?(Array) 271 @actions << [:drop_column, args.first] 272 end
Calls superclass method
Source
# File lib/sequel/extensions/migration.rb 280 def rename_column(name, new_name) 281 @actions << [:rename_column, new_name, name] 282 end
Source
# File lib/sequel/extensions/migration.rb 284 def set_column_allow_null(name, allow_null=true) 285 @actions << [:set_column_allow_null, name, !allow_null] 286 end
Source
# File lib/sequel/extensions/migration.rb 288 def set_column_not_null(name) 289 @actions << [:set_column_allow_null, name] 290 end