Class: Sequel::SimpleMigration
- Defined in:
- lib/sequel/extensions/migration.rb
Overview
Migration class used by the Sequel.migration DSL, using instances for each migration, unlike the Migration
class, which uses subclasses for each migration. Part of the migration
extension.
Instance Attribute Summary collapse
-
#down ⇒ Object
Proc used for the down action.
-
#up ⇒ Object
Proc used for the up action.
-
#use_transactions ⇒ Object
Whether to use transactions for this migration, default depends on the database.
Instance Method Summary collapse
-
#apply(db, direction) ⇒ Object
Apply the appropriate block on the
Database
instance using instance_eval. -
#initialize ⇒ SimpleMigration
constructor
Don’t set transaction use by default.
Constructor Details
#initialize ⇒ SimpleMigration
Don’t set transaction use by default.
91 92 93 |
# File 'lib/sequel/extensions/migration.rb', line 91 def initialize @use_transactions = nil end |
Instance Attribute Details
#down ⇒ Object
Proc used for the down action
81 82 83 |
# File 'lib/sequel/extensions/migration.rb', line 81 def down @down end |
#up ⇒ Object
Proc used for the up action
84 85 86 |
# File 'lib/sequel/extensions/migration.rb', line 84 def up @up end |
#use_transactions ⇒ Object
Whether to use transactions for this migration, default depends on the database.
88 89 90 |
# File 'lib/sequel/extensions/migration.rb', line 88 def use_transactions @use_transactions end |
Instance Method Details
#apply(db, direction) ⇒ Object
Apply the appropriate block on the Database
instance using instance_eval.
97 98 99 100 101 102 |
# File 'lib/sequel/extensions/migration.rb', line 97 def apply(db, direction) raise(ArgumentError, "Invalid migration direction specified (#{direction.inspect})") unless [:up, :down].include?(direction) if prok = send(direction) db.instance_eval(&prok) end end |