Class: JewelSeed::Migrator
- Inherits:
-
Object
- Object
- JewelSeed::Migrator
- Defined in:
- lib/jewel_seed/migrator.rb
Class Method Summary collapse
- .current_version ⇒ Object
- .migrate ⇒ Object
- .migration_files ⇒ Object
- .migrations ⇒ Object
- .rollback ⇒ Object
- .setup ⇒ Object
- .target_migrations ⇒ Object
Class Method Details
.current_version ⇒ Object
17 18 19 |
# File 'lib/jewel_seed/migrator.rb', line 17 def current_version SeedMigration.current_version.to_i end |
.migrate ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/jewel_seed/migrator.rb', line 25 def migrate target_migrations.each do |migration| ActiveRecord::Base.transaction do migration.up end end end |
.migration_files ⇒ Object
9 10 11 |
# File 'lib/jewel_seed/migrator.rb', line 9 def migration_files Dir["#{SEED_MIGRATE_PATH}/[0-9]*_*.rb"] end |
.migrations ⇒ Object
13 14 15 |
# File 'lib/jewel_seed/migrator.rb', line 13 def migrations migration_files.map { |f| MigrationProxy.new(f) } end |
.rollback ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/jewel_seed/migrator.rb', line 33 def rollback migration = migrations.find { |m| m.version == current_version } ActiveRecord::Base.transaction do migration.down end end |
.setup ⇒ Object
4 5 6 7 |
# File 'lib/jewel_seed/migrator.rb', line 4 def setup SeedMigration.create_table unless SeedMigration.table_exists? SeedMigrationTable.create_table unless SeedMigrationTable.table_exists? end |
.target_migrations ⇒ Object
21 22 23 |
# File 'lib/jewel_seed/migrator.rb', line 21 def target_migrations migrations.select { |m| m.version > current_version } end |