Module: Usps::Support::Db::AuxiliaryStamper
- Defined in:
- lib/usps/support/db/auxiliary_stamper.rb
Overview
Copies the primary test database’s schema_migrations rows into each auxiliary test database, so Rails’ pending-migration check doesn’t see the primary’s migrations as pending against schemas that don’t run them.
Class Method Summary collapse
Class Method Details
.call(io: $stdout) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/usps/support/db/auxiliary_stamper.rb', line 12 def call(io: $stdout) primary, auxiliary = test_configs return if auxiliary.empty? ActiveRecord::Base.connection_pool.with_connection do |connection| primary_versions = fetch_versions(connection, primary.database) auxiliary.each do |config| existing = fetch_versions(connection, config.database) (primary_versions - existing).each do |version| io.puts "Stamping #{version} for #{config.database}" connection.execute( "INSERT INTO #{config.database}.schema_migrations (version) VALUES (#{version.to_i})" ) end end end end |