| -- Garbage collect LabelDef rows from all projects where: |
| -- 1. The label is not currently in use (it does not join to Issue2Label). |
| -- 2. The label is not a well-known label (it does not have a rank). |
| -- There are currently about 1500 such labels in the prod database. |
| |
| CREATE TABLE LabelDefToDelete (id INT); |
| |
| INSERT INTO LabelDefToDelete (id) |
| SELECT id FROM LabelDef |
| LEFT JOIN Issue2Label ON LabelDef.id = Issue2Label.label_id |
| WHERE issue_id IS NULL |
| AND rank IS NULL; |
| |
| DELETE FROM LabelDef |
| WHERE id IN (SELECT * FROM LabelDefToDelete) |
| LIMIT 2000; |
| |