Skip to content

Commit eb70403

Browse files
committed
chore: rename latest_pact_publication_ids_by_consumer_versions to latest_pact_publication_ids_for_consumer_versions
1 parent 52d0045 commit eb70403

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
Sequel.migration do
2+
up do
3+
# Latest pact_publication (revision) for each provider/consumer version.
4+
# Keeping track of this in a table rather than having to calculate the
5+
# latest revision speeds things up.
6+
# We don't have to worry about updating it if a revision is deleted, because
7+
# you can't delete a single pact revision through the API - all the revisions
8+
# for a pact are deleted together when you delete the pact resource for that
9+
# consumer version, and when that happens, this row will cascade delete.
10+
create_table(:latest_pact_publication_ids_for_consumer_versions, charset: 'utf8') do
11+
foreign_key :consumer_id, :pacticipants, null: false, on_delete: :cascade # redundant, but speeds up queries by removing need for extra join
12+
foreign_key :consumer_version_id, :versions, null: false, on_delete: :cascade
13+
foreign_key :provider_id, :pacticipants, null: false, on_delete: :cascade
14+
foreign_key :pact_publication_id, :pact_publications, null: false, on_delete: :cascade, unique: true
15+
foreign_key :pact_version_id, :pact_versions, null: false, on_delete: :cascade
16+
index [:provider_id, :consumer_version_id], unique: true, name: "unq_latest_ppid_prov_conver"
17+
index [:provider_id, :consumer_id], name: "lpp_provider_id_consumer_id_index"
18+
end
19+
end
20+
21+
down do
22+
drop_table(:latest_pact_publication_ids_for_consumer_versions)
23+
end
24+
end

0 commit comments

Comments
 (0)