diff --git a/migrations/0128.sql b/migrations/0128.sql index 9acb2bbd..ff10636a 100644 --- a/migrations/0128.sql +++ b/migrations/0128.sql @@ -1,12 +1,18 @@ -- Duplicate product barcodes were most probably not created on purpose, -- so just keep the newer one for any duplicates DELETE FROM product_barcodes -WHERE id IN ( - SELECT MIN(id) +WHERE barcode IN ( + SELECT barcode FROM product_barcodes GROUP BY barcode HAVING COUNT(*) > 1 -); + ) + AND id NOT IN ( + SELECT MIN(id) + FROM product_barcodes + GROUP BY barcode + HAVING COUNT(*) > 1 + ); CREATE UNIQUE INDEX ix_product_barcodes ON product_barcodes ( barcode