Sha256: 5eebc9ad98c931f2560f2c63b440c5d4de2b59c4c1f30402a6a24b4a2cfd1a52

Contents?: true

Size: 1.72 KB

Versions: 48

Compression:

Stored size: 1.72 KB

Contents

Sequel.migration do
  up do
    # Latest verification_id for each pact version/provider version.
    # Keeping track of this in a table rather than having to calculate the
    # latest revision speeds queries up.
    # There is no way to delete an individual verification result yet, but when there
    # is, we'll need to re-calculate the latest.
    create_table(:latest_verification_id_for_pact_version_and_provider_version, charset: "utf8") do
      foreign_key :consumer_id, :pacticipants,      null: false, on_delete: :cascade, foreign_key_constraint_name: "latest_v_id_for_pv_and_pv_consumer_id_fk" # not required, but useful to avoid extra joins
      foreign_key :pact_version_id, :pact_versions, null: false, on_delete: :cascade, foreign_key_constraint_name: "latest_v_id_for_pv_and_pv_pact_version_id_fk"
      foreign_key :provider_id, :pacticipants,      null: false, on_delete: :cascade, foreign_key_constraint_name: "latest_v_id_for_pv_and_pv_provider_id_fk"  # not required, but useful to avoid extra joins
      foreign_key :provider_version_id, :versions,  null: false, on_delete: :cascade, foreign_key_constraint_name: "latest_v_id_for_pv_and_pv_provider_version_id_fk"
      foreign_key :verification_id, :verifications, null: false, on_delete: :cascade, foreign_key_constraint_name: "latest_v_id_for_pv_and_pv_verification_id_fk"
      index [:verification_id], unique: true, name: "latest_v_id_for_pv_and_pv_v_id_unq"
      index [:pact_version_id, :provider_version_id], unique: true, name: "latest_v_id_for_pv_and_pv_pv_id_pv_id_unq"
      index [:pact_version_id, :verification_id], name: "latest_v_id_for_pv_and_pv_pv_id_v_id"
    end
  end

  down do
    drop_table(:latest_verification_id_for_pact_version_and_provider_version)
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

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