Class: Sequent::Migrations::MigrateEvents

Inherits:
Object
  • Object
show all
Defined in:
lib/sequent/migrations/migrate_events.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ MigrateEvents

Returns a new instance of MigrateEvents.

Parameters:

  • env

    The string representing the current environment. E.g. “development”, “production”



26
27
28
29
# File 'lib/sequent/migrations/migrate_events.rb', line 26

def initialize(env)
  warn '[DEPRECATED] Use of MigrateEvents is deprecated and will be removed from future version. Please use Sequent::Migrations::ViewSchema instead. See the changelog on how to update.'
  @env = env
end

Instance Method Details

#execute_migrations(current_version, new_version, &after_migration_block) ⇒ Object

Parameters:

  • current_version

    The current version of the application. E.g. 10

  • new_version

    The version to migrate to. E.g. 11

  • &after_migration_block

    an optional block (with the current upgrade version as param) to run after the migrations run. E.g. close resources



37
38
39
40
41
42
43
44
45
46
# File 'lib/sequent/migrations/migrate_events.rb', line 37

def execute_migrations(current_version, new_version, &after_migration_block)
  migrations(current_version, new_version).each do |migration_class|
    migration = migration_class.new(@env)
    begin
      migration.migrate
    ensure
      yield(migration.version) if block_given?
    end
  end
end

#has_migrations?(current_version, new_version) ⇒ Boolean

Returns:



59
60
61
# File 'lib/sequent/migrations/migrate_events.rb', line 59

def has_migrations?(current_version, new_version)
  migrations(current_version, new_version).any?
end

#migrations(current_version, new_version) ⇒ Object



48
49
50
51
52
53
54
55
56
57
# File 'lib/sequent/migrations/migrate_events.rb', line 48

def migrations(current_version, new_version)
  return [] if current_version == 0
  ((current_version + 1)..new_version).map do |upgrade_to_version|
    begin
      Class.const_get("Database::MigrateToVersion#{upgrade_to_version}")
    rescue NameError
      nil
    end
  end.compact
end