Method: Octopus::Migrator#migrate_with_octopus

Defined in:
lib/octopus/migration.rb,
lib/octopus/migration.rb

#migrate_with_octopus(&block) ⇒ Object



110
111
112
113
114
115
116
117
118
# File 'lib/octopus/migration.rb', line 110

def migrate_with_octopus(&block)
  return migrate_without_octopus(&block) unless connection.is_a?(Octopus::Proxy)
  shards = migrations.map(&:shards).flatten.map(&:to_s)
  connection.send_queries_to_multiple_shards(shards) do
    migrate_without_octopus(&block)
  end
  rescue ActiveRecord::UnknownMigrationVersionError => e
    raise unless migrations(true).detect { |m| m.version == e.version }
end