Internal class used by the Sequel.migration DSL, part of
the migration
extension.
The underlying Migration instance
# File lib/sequel/extensions/migration.rb, line 116 def self.create(&block) new(&block).migration end
Create a new migration class, and instance_eval the block.
# File lib/sequel/extensions/migration.rb, line 121 def initialize(&block) @migration = SimpleMigration.new Migration.descendants << migration instance_eval(&block) end
Creates a reversible migration. This is the same as creating the same
block with up
, but it also calls the block and attempts to
create a down
block that will reverse the changes made by the
block.
There are no guarantees that this will work perfectly in all cases, but it should work for most common cases.
# File lib/sequel/extensions/migration.rb, line 154 def change(&block) migration.up = block migration.down = MigrationReverser.new.reverse(&block) end
Defines the migration’s down action.
# File lib/sequel/extensions/migration.rb, line 128 def down(&block) migration.down = block end
Disable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 133 def no_transaction migration.use_transactions = false end
Enable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 138 def transaction migration.use_transactions = true end
Defines the migration’s up action.
# File lib/sequel/extensions/migration.rb, line 143 def up(&block) migration.up = block end