class Sequel::MigrationDSL
Internal class used by the Sequel.migration DSL, part of
the migration
extension.
Attributes
migration[R]
The underlying SimpleMigration instance
Public Class Methods
create(&block)
click to toggle source
# File lib/sequel/extensions/migration.rb, line 117 def self.create(&block) new(&block).migration end
new(&block)
click to toggle source
Create a new migration class, and instance_exec the block.
# File lib/sequel/extensions/migration.rb, line 122 def initialize(&block) @migration = SimpleMigration.new Migration.descendants << migration instance_exec(&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 works for some simple cases.
# File lib/sequel/extensions/migration.rb, line 155 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 129 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 134 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 139 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 144 def up(&block) migration.up = block end