forked from pact-foundation/pact_broker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path000050_create_latest_matrix.rb
28 lines (26 loc) · 1.13 KB
/
000050_create_latest_matrix.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sequel.migration do
change do
# Removes 'overwritten' pacts and verifications from the matrix
# (ie. only show latest pact revision for each consumer version and
# latest verification for each provider version)
# Must include lines where verification_id is null so that we don't
# lose the unverified pacts.
# In this view there will be one row for each consumer version/provider version
create_view(:latest_matrix,
"SELECT matrix.* FROM matrix
INNER JOIN latest_verification_id_for_consumer_version_and_provider_version AS lv
ON ((matrix.consumer_version_id = lv.consumer_version_id)
AND (matrix.provider_version_id = lv.provider_version_id)
AND ((matrix.verification_id = lv.latest_verification_id)))
UNION
select matrix.* from matrix
inner join latest_pact_publication_revision_numbers lr
on matrix.consumer_id = lr.consumer_id
and matrix.provider_id = lr.provider_id
and matrix.consumer_version_order = lr.consumer_version_order
and matrix.pact_revision_number = lr.latest_revision_number
where verification_id is null
"
)
end
end