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

Version Path
pact_broker-2.114.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.113.2 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.113.1 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.113.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.112.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.111.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.109.1 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.109.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.108.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.107.1 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.107.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.106.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.105.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.104.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.103.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.102.2 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.102.1 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.102.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb
pact_broker-2.101.0 lib/pact_broker/db/data_migrations/migrate_pact_version_provider_tag_successful_verifications.rb