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 86
    86:     def self.create(&block)
    87:       new(&block).migration
    88:     end

new(&block)

Create a new migration class, and instance_eval the block.

[Source]

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

down(&block)

Defines the migration‘s down action.

[Source]

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

up(&block)

Defines the migration‘s up action.

[Source]

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

[Validate]