Class: Sequel::MigrationDSL
- Inherits:
- BasicObject
- Defined in:
- lib/sequel/extensions/migration.rb
Overview
Internal class used by the Sequel.migration DSL, part of the migration
extension.
Constant Summary
Constants inherited from BasicObject
Instance Attribute Summary collapse
-
#migration ⇒ Object
readonly
The underlying Migration instance.
Class Method Summary collapse
Instance Method Summary collapse
-
#change(&block) ⇒ Object
Creates a reversible migration.
-
#down(&block) ⇒ Object
Defines the migration’s down action.
-
#initialize(&block) ⇒ MigrationDSL
constructor
Create a new migration class, and instance_eval the block.
-
#no_transaction ⇒ Object
Disable the use of transactions for the related migration.
-
#transaction ⇒ Object
Enable the use of transactions for the related migration.
-
#up(&block) ⇒ Object
Defines the migration’s up action.
Methods inherited from BasicObject
const_missing, remove_methods!
Constructor Details
#initialize(&block) ⇒ MigrationDSL
Create a new migration class, and instance_eval the block.
106 107 108 109 110 |
# File 'lib/sequel/extensions/migration.rb', line 106 def initialize(&block) @migration = SimpleMigration.new Migration.descendants << migration instance_eval(&block) end |
Instance Attribute Details
#migration ⇒ Object (readonly)
The underlying Migration instance
99 100 101 |
# File 'lib/sequel/extensions/migration.rb', line 99 def migration @migration end |
Class Method Details
.create(&block) ⇒ Object
101 102 103 |
# File 'lib/sequel/extensions/migration.rb', line 101 def self.create(&block) new(&block).migration end |
Instance Method Details
#change(&block) ⇒ Object
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.
139 140 141 142 |
# File 'lib/sequel/extensions/migration.rb', line 139 def change(&block) migration.up = block migration.down = MigrationReverser.new.reverse(&block) end |
#down(&block) ⇒ Object
Defines the migration’s down action.
113 114 115 |
# File 'lib/sequel/extensions/migration.rb', line 113 def down(&block) migration.down = block end |
#no_transaction ⇒ Object
Disable the use of transactions for the related migration
118 119 120 |
# File 'lib/sequel/extensions/migration.rb', line 118 def no_transaction migration.use_transactions = false end |
#transaction ⇒ Object
Enable the use of transactions for the related migration
123 124 125 |
# File 'lib/sequel/extensions/migration.rb', line 123 def transaction migration.use_transactions = true end |
#up(&block) ⇒ Object
Defines the migration’s up action.
128 129 130 |
# File 'lib/sequel/extensions/migration.rb', line 128 def up(&block) migration.up = block end |