Remove duplicate rows from `vulnerability_occurrences` table
Summary
During work on #212322 (closed) it came to our attention that the current logic in Security::StoreReportService will result in entries for which our method of calculating UUIDv5 will yield duplicate values. This is would violate the CREATE UNIQUE INDEX index_vulnerability_occurrences_on_uuid ON vulnerability_occurrences USING btree (uuid); constraint present in the database.
We need to remove rows that would result in duplicate UUIDv5 values
Implementation plan
-
database Create a post-deployment migration that: -
Has timestamp lower than 20201112130715 -
Creates an index on (project_id, report_type, location_fingerprint, primary_identifier_id, id) -
Drops the duplicates using EachBatch -
Removes the index on (project_id, report_type, location_fingerprint, primary_identifier_id, id)
-
Edited by Michał Zając