Internal class used by the Sequel.migration DSL, part of
the migration
extension.
The underlying SimpleMigration instance
# File lib/sequel/extensions/migration.rb, line 117 def self.create(&block) new(&block).migration end
Create a new migration class, and instance_exec the block.
# File lib/sequel/extensions/migration.rb, line 122 def initialize(&block) @migration = SimpleMigration.new Migration.descendants << migration instance_exec(&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 works for some simple cases.
# File lib/sequel/extensions/migration.rb, line 155 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 129 def down(&block) migration.down = block end
Disable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 134 def no_transaction migration.use_transactions = false end
Enable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 139 def transaction migration.use_transactions = true end
Defines the migration's up action.
# File lib/sequel/extensions/migration.rb, line 144 def up(&block) migration.up = block end