diff --git a/packages/server/modules/acc/migrations/20250806163108_drop_automation_id_fk.ts b/packages/server/modules/acc/migrations/20250806163108_drop_automation_id_fk.ts new file mode 100644 index 000000000..e36da148a --- /dev/null +++ b/packages/server/modules/acc/migrations/20250806163108_drop_automation_id_fk.ts @@ -0,0 +1,21 @@ +import type { Knex } from 'knex' + +const TABLE_NAME = 'acc_sync_items' + +export async function up(knex: Knex): Promise { + await knex.schema.alterTable(TABLE_NAME, (table) => { + table.dropForeign('automationId') + }) +} + +export async function down(knex: Knex): Promise { + await knex.schema.alterTable(TABLE_NAME, (table) => { + // Note: This will fail if any sync items have been created with `automationId` values that violate the constraint. + // Handle those before running this migration. + table + .foreign('automationId') + .references('id') + .inTable('automations') + .onDelete('cascade') + }) +} diff --git a/packages/server/modules/multiregion/services/queue.ts b/packages/server/modules/multiregion/services/queue.ts index 583eb6c61..c55b362bd 100644 --- a/packages/server/modules/multiregion/services/queue.ts +++ b/packages/server/modules/multiregion/services/queue.ts @@ -257,7 +257,7 @@ export const startQueue = async () => { // Wait for replication from regional db await waitForRegionProjectFactory({ getProject: getProjectFactory({ db }), - deleteProject: deleteProjectFactory({ db }) + deleteProject: deleteProjectFactory({ db: targetDb }) })({ projectId: project.id, regionKey, @@ -279,6 +279,8 @@ export const startQueue = async () => { })) }) } + + return } case 'delete-project-region-data': default: