Connect to the proper database while testing Geo migrations

parent 6dd69bb1
...@@ -12,6 +12,6 @@ class AddMissingOnPrimaryToJobArtifactRegistry < ActiveRecord::Migration[4.2] ...@@ -12,6 +12,6 @@ class AddMissingOnPrimaryToJobArtifactRegistry < ActiveRecord::Migration[4.2]
end end
def down def down
remove_column :job_artifact_registry, :missing_on_primary remove_column :job_artifact_registry, :missing_on_primary if column_exists?(:job_artifact_registry, :missing_on_primary)
end end
end end
...@@ -4,7 +4,7 @@ require 'spec_helper' ...@@ -4,7 +4,7 @@ require 'spec_helper'
require_migration! require_migration!
RSpec.describe FixStateColumnInFileRegistry do RSpec.describe FixStateColumnInFileRegistry, :geo do
let(:registry) { table(:file_registry) } let(:registry) { table(:file_registry) }
it 'correctly sets registry state value' do it 'correctly sets registry state value' do
......
...@@ -4,7 +4,7 @@ require 'spec_helper' ...@@ -4,7 +4,7 @@ require 'spec_helper'
require_migration! require_migration!
RSpec.describe FixStateColumnInLfsObjectRegistry do RSpec.describe FixStateColumnInLfsObjectRegistry, :geo do
let(:registry) { table(:lfs_object_registry) } let(:registry) { table(:lfs_object_registry) }
before do before do
...@@ -19,12 +19,12 @@ RSpec.describe FixStateColumnInLfsObjectRegistry do ...@@ -19,12 +19,12 @@ RSpec.describe FixStateColumnInLfsObjectRegistry do
pending_registries = registry.where(state: 0) pending_registries = registry.where(state: 0)
synced_registries = registry.where(state: 2) synced_registries = registry.where(state: 2)
expect(pending_registries.pluck(:id)).to contain_exactly(1, 2) expect(pending_registries.pluck(:lfs_object_id)).to contain_exactly(1, 2)
expect(synced_registries.pluck(:id)).to contain_exactly(4) expect(synced_registries.pluck(:lfs_object_id)).to contain_exactly(4)
migrate! migrate!
expect(pending_registries.pluck(:id)).to contain_exactly(1) expect(pending_registries.pluck(:lfs_object_id)).to contain_exactly(1)
expect(synced_registries.pluck(:id)).to contain_exactly(2, 4) expect(synced_registries.pluck(:lfs_object_id)).to contain_exactly(2, 4)
end end
end end
...@@ -45,12 +45,24 @@ module EE ...@@ -45,12 +45,24 @@ module EE
def with_db_config(&block) def with_db_config(&block)
if geo_migration? if geo_migration?
::Geo::TrackingBase.connected_to(database: :geo) { yield } with_added_geo_connection { yield }
else else
yield yield
end end
end end
def with_added_geo_connection
with_reestablished_active_record_base(reconnect: true) do
reconfigure_db_connection(
name: :geo,
config_model: Geo::TrackingBase,
model: ActiveRecord::Base
)
yield
end
end
def geo_migration? def geo_migration?
self.class.metadata[:geo] self.class.metadata[:geo]
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment