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 up

### Attributes

migration | [R] | The underlying Migration instance

### Public Class methods

create(&block)

[Source]

        # File lib/sequel/extensions/migration.rb, line 87
    87:     def self.create(&block)
    88:       new(&block).migration
    89:     end

new(&block)

Create a new migration class, and instance_eval the block.

[Source]

        # File lib/sequel/extensions/migration.rb, line 92
    92:     def initialize(&block)
    93:       @migration = SimpleMigration.new
    94:       Migration.descendants << migration
    95:       instance_eval(&block)
    96:     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 115
    115:     def change(&block)
    116:       migration.up = block
    117:       migration.down = MigrationReverser.new.reverse(&block)
    118:     end

down(&block)

Defines the migration‘s down action.

[Source]

         # File lib/sequel/extensions/migration.rb, line 99
     99:     def down(&block)
    100:       migration.down = block
    101:     end

up(&block)

Defines the migration‘s up action.

[Source]

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

[Validate]