Sha256: da124a67f2d452e89a6fdccb1222b3072126b9ffbacfa577519b26a39e5aa635

Contents?: true

Size: 1.72 KB

Versions: 78

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

78 entries across 78 versions & 1 rubygems

Version Path
pact_broker-2.79.1 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.79.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.78.1 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.78.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.77.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.76.2 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.76.1 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.76.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.75.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.74.1 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.74.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.73.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.72.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.71.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.70.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.69.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.68.1 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.68.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.67.0 db/migrations/20180723_create_latest_verification_ids.rb
pact_broker-2.66.0 db/migrations/20180723_create_latest_verification_ids.rb