class Sequel::MigrationDSL

  1. lib/sequel/extensions/migration.rb
Superclass: BasicObject

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 SimpleMigration instance

Public Class methods

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

Create a new migration class, and instance_exec the block.

[show source]
# File lib/sequel/extensions/migration.rb, line 121
def initialize(&block)
  @migration = SimpleMigration.new
  Migration.descendants << migration
  instance_exec(&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 works for some simple cases.

[show source]
# File lib/sequel/extensions/migration.rb, line 154
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 128
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 133
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 138
def transaction
  migration.use_transactions = true
end
up (&block)

Defines the migration's up action.

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