class Sequel::MigrationDSL
Internal class used by the Sequel.migration DSL, part of
the migration
extension.
Attributes
The underlying SimpleMigration instance
Public Class Methods
# File lib/sequel/extensions/migration.rb, line 119 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 124 def initialize(&block) @migration = SimpleMigration.new Migration.descendants << migration instance_exec(&block) end
Public Instance Methods
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 157 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 131 def down(&block) migration.down = block end
Disable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 136 def no_transaction migration.use_transactions = false end
Creates a revert migration. This is the same as creating the same block
with down
, but it also calls the block and attempts to create
a up
block that will reverse the changes made by the block.
This is designed to revert the changes in the provided 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 170 def revert(&block) migration.down = block migration.up = MigrationReverser.new.reverse(&block) end
Enable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 141 def transaction migration.use_transactions = true end
Defines the migration's up action.
# File lib/sequel/extensions/migration.rb, line 146 def up(&block) migration.up = block end