Class | Sequel::MigrationDSL
In: | lib/sequel/extensions/migration.rb
Parent: | BasicObject

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

### Methods

change create down new no_transaction transaction up

### Attributes

migration | [R] | The underlying Migration instance

### Public Class methods

create(&block)

[Source]

         # File lib/sequel/extensions/migration.rb, line 104
    104:     def self.create(&block)
    105:       new(&block).migration
    106:     end

new(&block)

Create a new migration class, and instance_eval the block.

[Source]

         # File lib/sequel/extensions/migration.rb, line 109
    109:     def initialize(&block)
    110:       @migration = SimpleMigration.new
    111:       Migration.descendants << migration
    112:       instance_eval(&block)
    113:     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.

[Source]

         # File lib/sequel/extensions/migration.rb, line 142
    142:     def change(&block)
    143:       migration.up = block
    144:       migration.down = MigrationReverser.new.reverse(&block)
    145:     end

down(&block)

Defines the migration‘s down action.

[Source]

         # File lib/sequel/extensions/migration.rb, line 116
    116:     def down(&block)
    117:       migration.down = block
    118:     end

no_transaction()

Disable the use of transactions for the related migration

[Source]

         # File lib/sequel/extensions/migration.rb, line 121
    121:     def no_transaction
    122:       migration.use_transactions = false
    123:     end

transaction()

Enable the use of transactions for the related migration

[Source]

         # File lib/sequel/extensions/migration.rb, line 126
    126:     def transaction
    127:       migration.use_transactions = true
    128:     end

up(&block)

Defines the migration‘s up action.

[Source]

         # File lib/sequel/extensions/migration.rb, line 131
    131:     def up(&block)
    132:       migration.up = block
    133:     end

[Validate]