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