class Sequel::MigrationDSL
Internal class used by the Sequel.migration DSL, part of
the migration
extension.
Attributes
migration[R]
The underlying Migration instance
Public Class Methods
create(&block)
click to toggle source
# File lib/sequel/extensions/migration.rb, line 116 def self.create(&block) new(&block).migration end
new(&block)
click to toggle source
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
Public Instance Methods
change(&block)
click to toggle source
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
down(&block)
click to toggle source
Defines the migration's down action.
# File lib/sequel/extensions/migration.rb, line 128 def down(&block) migration.down = block end
no_transaction()
click to toggle source
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
transaction()
click to toggle source
Enable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 138 def transaction migration.use_transactions = true end
up(&block)
click to toggle source
Defines the migration's up action.
# File lib/sequel/extensions/migration.rb, line 143 def up(&block) migration.up = block end