16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/pact_broker/db/clean.rb', line 16
def call
db[:verifications].where(id: db[:head_matrix].select(:verification_id)).invert.delete
pp_ids = db[:head_matrix].select(:pact_publication_id)
triggered_webhook_ids = db[:triggered_webhooks].where(pact_publication_id: pp_ids).invert.select(:id)
db[:webhook_executions].where(triggered_webhook_id: triggered_webhook_ids).delete
db[:triggered_webhooks].where(id: triggered_webhook_ids).delete
db[:webhook_executions].where(pact_publication_id: pp_ids).invert.delete
db[:pact_publications].where(id: pp_ids).invert.delete
referenced_pact_version_ids = db[:pact_publications].select(:pact_version_id).collect{ | h| h[:pact_version_id] } +
db[:verifications].select(:pact_version_id).collect{ | h| h[:pact_version_id] }
db[:pact_versions].where(id: referenced_pact_version_ids).invert.delete
referenced_version_ids = db[:pact_publications].select(:consumer_version_id).collect{ | h| h[:consumer_version_id] } +
db[:verifications].select(:provider_version_id).collect{ | h| h[:provider_version_id] }
db[:tags].where(version_id: referenced_version_ids).invert.delete
db[:versions].where(id: referenced_version_ids).invert.delete
end
|