class Sequel::MigrationDSL
Internal class used by the Sequel.migration DSL, part of
the migration
extension.
Attributes
migration[R]
The underlying Migration instance
Public Class Methods
create(&block)
click to toggle source
# File lib/sequel/extensions/migration.rb, line 110 def self.create(&block) new(&block).migration end
new(&block)
click to toggle source
Create a new migration class, and instance_eval the block.
# File lib/sequel/extensions/migration.rb, line 115 def initialize(&block) @migration = SimpleMigration.new Migration.descendants << migration instance_eval(&block) 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 should work for most common cases.
# File lib/sequel/extensions/migration.rb, line 148 def change(&block) migration.up = block migration.down = MigrationReverser.new.reverse(&block) end
down(&block)
click to toggle source
Defines the migration's down action.
# File lib/sequel/extensions/migration.rb, line 122 def down(&block) migration.down = block end
no_transaction()
click to toggle source
Disable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 127 def no_transaction migration.use_transactions = false end
transaction()
click to toggle source
Enable the use of transactions for the related migration
# File lib/sequel/extensions/migration.rb, line 132 def transaction migration.use_transactions = true end
up(&block)
click to toggle source
Defines the migration's up action.
# File lib/sequel/extensions/migration.rb, line 137 def up(&block) migration.up = block end