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

Public Class methods

[Source]

     # File lib/sequel/extensions/migration.rb, line 117
117:     def self.create(&block)
118:       new(&block).migration
119:     end

Create a new migration class, and instance_exec the block.

[Source]

     # File lib/sequel/extensions/migration.rb, line 122
122:     def initialize(&block)
123:       @migration = SimpleMigration.new
124:       Migration.descendants << migration
125:       instance_exec(&block)
126:     end

Public Instance methods

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.

[Source]

     # File lib/sequel/extensions/migration.rb, line 155
155:     def change(&block)
156:       migration.up = block
157:       migration.down = MigrationReverser.new.reverse(&block)
158:     end

Defines the migration‘s down action.

[Source]

     # File lib/sequel/extensions/migration.rb, line 129
129:     def down(&block)
130:       migration.down = block
131:     end

Disable the use of transactions for the related migration

[Source]

     # File lib/sequel/extensions/migration.rb, line 134
134:     def no_transaction
135:       migration.use_transactions = false
136:     end

Enable the use of transactions for the related migration

[Source]

     # File lib/sequel/extensions/migration.rb, line 139
139:     def transaction
140:       migration.use_transactions = true
141:     end

Defines the migration‘s up action.

[Source]

     # File lib/sequel/extensions/migration.rb, line 144
144:     def up(&block)
145:       migration.up = block
146:     end

[Validate]