Sha256: be4c00e265a785093c226b02b39ea44533b068081e5de6d0f25db8b955ada5e5
Contents?: true
Size: 1.85 KB
Versions: 34
Compression:
Stored size: 1.85 KB
Contents
require "pact_broker/db/data_migrations/helpers" module PactBroker module DB module DataMigrations class MigratePactVersionProviderTagSuccessfulVerifications extend Helpers def self.call(connection) successful_verifications_join = { Sequel[:sv][:pact_version_id] => Sequel[:verifications][:pact_version_id], Sequel[:sv][:provider_version_tag_name] => Sequel[:tags][:name], Sequel[:sv][:wip] => Sequel[:verifications][:wip] } missing_verifications = connection .select( Sequel[:verifications][:pact_version_id], Sequel[:tags][:name], Sequel[:verifications][:wip], Sequel[:verifications][:id], Sequel[:verifications][:execution_date] ) .order(Sequel[:verifications][:execution_date], Sequel[:verifications][:id]) .from(:verifications) .join(:tags, { Sequel[:verifications][:provider_version_id] => Sequel[:tags][:version_id] }) .left_outer_join(:pact_version_provider_tag_successful_verifications, successful_verifications_join, { table_alias: :sv }) .where(Sequel[:sv][:pact_version_id] => nil) .where(Sequel[:verifications][:success] => true) connection[:pact_version_provider_tag_successful_verifications] .insert_ignore .insert([:pact_version_id, :provider_version_tag_name, :wip, :verification_id, :execution_date], missing_verifications) end end end end end
Version data entries
34 entries across 34 versions & 1 rubygems