class Sequel::MigrationDSL

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

Attributes

migration[R]

The underlying SimpleMigration instance

Public Class Methods

create(&block) click to toggle source
    # File lib/sequel/extensions/migration.rb
118 def self.create(&block)
119   new(&block).migration
120 end
new(&block) click to toggle source

Create a new migration class, and instance_exec the block.

    # File lib/sequel/extensions/migration.rb
123 def initialize(&block)
124   @migration = SimpleMigration.new
125   Migration.descendants << migration
126   instance_exec(&block)
127 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 works for some simple cases.

    # File lib/sequel/extensions/migration.rb
156 def change(&block)
157   migration.up = block
158   migration.down = MigrationReverser.new.reverse(&block)
159 end
down(&block) click to toggle source

Defines the migration's down action.

    # File lib/sequel/extensions/migration.rb
130 def down(&block)
131   migration.down = block
132 end
no_transaction() click to toggle source

Disable the use of transactions for the related migration

    # File lib/sequel/extensions/migration.rb
135 def no_transaction
136   migration.use_transactions = false
137 end
transaction() click to toggle source

Enable the use of transactions for the related migration

    # File lib/sequel/extensions/migration.rb
140 def transaction
141   migration.use_transactions = true
142 end
up(&block) click to toggle source

Defines the migration's up action.

    # File lib/sequel/extensions/migration.rb
145 def up(&block)
146   migration.up = block
147 end