diff --git a/db/migrations/postgres/000099_fix_blockchainevent_protocolid_index.up.sql b/db/migrations/postgres/000099_fix_blockchainevent_protocolid_index.up.sql index 9fbc171185..6acdb7dfc6 100644 --- a/db/migrations/postgres/000099_fix_blockchainevent_protocolid_index.up.sql +++ b/db/migrations/postgres/000099_fix_blockchainevent_protocolid_index.up.sql @@ -1,5 +1,7 @@ BEGIN; DROP INDEX blockchainevents_protocolid; +DELETE FROM blockchainevents WHERE listener_id IS NULL AND seq NOT IN ( + SELECT MIN(seq) FROM blockchainevents WHERE listener_id IS NULL GROUP BY namespace, protocol_id); CREATE UNIQUE INDEX blockchainevents_protocolid ON blockchainevents(namespace, protocol_id) WHERE listener_id IS NULL; CREATE UNIQUE INDEX blockchainevents_listener_protocolid ON blockchainevents(namespace, listener_id, protocol_id) WHERE listener_id IS NOT NULL; COMMIT; diff --git a/db/migrations/sqlite/000099_fix_blockchainevent_protocolid_index.up.sql b/db/migrations/sqlite/000099_fix_blockchainevent_protocolid_index.up.sql index 4dc3f4ccf9..b2bed6f089 100644 --- a/db/migrations/sqlite/000099_fix_blockchainevent_protocolid_index.up.sql +++ b/db/migrations/sqlite/000099_fix_blockchainevent_protocolid_index.up.sql @@ -1,3 +1,5 @@ DROP INDEX blockchainevents_protocolid; +DELETE FROM blockchainevents WHERE listener_id IS NULL AND seq NOT IN ( + SELECT MIN(seq) FROM blockchainevents WHERE listener_id IS NULL GROUP BY namespace, protocol_id); CREATE UNIQUE INDEX blockchainevents_protocolid ON blockchainevents(namespace, protocol_id) WHERE listener_id IS NULL; CREATE UNIQUE INDEX blockchainevents_listener_protocolid ON blockchainevents(namespace, listener_id, protocol_id) WHERE listener_id IS NOT NULL;