class Sequel::MigrationDSL

  1. lib/sequel/extensions/migration.rb
Parent: Sequel

Internal class used by the Sequel.migration DSL, part of the migration extension.

Methods

Public Class

  1. create
  2. new

Public Instance

  1. change
  2. down
  3. migration
  4. no_transaction
  5. transaction
  6. up

Attributes

migration [R]

The underlying Migration instance

Public Class methods

create (&block)
[show source]
# File lib/sequel/extensions/migration.rb, line 109
def self.create(&block)
  new(&block).migration
end
new (&block)

Create a new migration class, and instance_eval the block.

[show source]
# File lib/sequel/extensions/migration.rb, line 114
def initialize(&block)
  @migration = SimpleMigration.new
  Migration.descendants << migration
  instance_eval(&block)
end

Public Instance methods

change (&block)

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.

[show source]
# File lib/sequel/extensions/migration.rb, line 147
def change(&block)
  migration.up = block
  migration.down = MigrationReverser.new.reverse(&block)
end
down (&block)

Defines the migration’s down action.

[show source]
# File lib/sequel/extensions/migration.rb, line 121
def down(&block)
  migration.down = block
end
no_transaction ()

Disable the use of transactions for the related migration

[show source]
# File lib/sequel/extensions/migration.rb, line 126
def no_transaction
  migration.use_transactions = false
end
transaction ()

Enable the use of transactions for the related migration

[show source]
# File lib/sequel/extensions/migration.rb, line 131
def transaction
  migration.use_transactions = true
end
up (&block)

Defines the migration’s up action.

[show source]
# File lib/sequel/extensions/migration.rb, line 136
def up(&block)
  migration.up = block
end