diff --git a/plugins/catalog-backend/src/database/DefaultProviderDatabase.ts b/plugins/catalog-backend/src/database/DefaultProviderDatabase.ts index 9ec5d13591..60dd43bb59 100644 --- a/plugins/catalog-backend/src/database/DefaultProviderDatabase.ts +++ b/plugins/catalog-backend/src/database/DefaultProviderDatabase.ts @@ -162,12 +162,6 @@ export class DefaultProviderDatabase implements ProviderDatabase { logger: this.options.logger, }); } - - await tx('refresh_state_references') - .where('target_entity_ref', entityRef) - .andWhere({ source_key: options.sourceKey }) - .delete(); - if (ok) { await tx('refresh_state_references') .where('target_entity_ref', entityRef) @@ -180,6 +174,11 @@ export class DefaultProviderDatabase implements ProviderDatabase { target_entity_ref: entityRef, }); } else { + await tx('refresh_state_references') + .where('target_entity_ref', entityRef) + .andWhere({ source_key: options.sourceKey }) + .delete(); + const conflictingKey = await checkLocationKeyConflict({ tx, entityRef,