Internal class used by the Sequel.migration DSL, part of
the migration
extension.
The underlying Migration instance
# File lib/sequel/extensions/migration.rb, line 110 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 115 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 148 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 122 def down(&block) migration.down = block end
Disable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 127 def no_transaction migration.use_transactions = false end
Enable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 132 def transaction migration.use_transactions = true end
Defines the migration's up action.
# File lib/sequel/extensions/migration.rb, line 137 def up(&block) migration.up = block end