FIXES FRMW-2878 **What** Currently, the `one-to-one` unique constraints does not account for deleted record. This prevents from inserting a new record wth the same fk if another one is deleted. **Caveat** `hasOne` with FK option is meant to be a special case, for example a many to one - one to many without defining the other side of the relation. In that case we don't handle this behaviour and keep it as it is
14 lines
478 B
TypeScript
14 lines
478 B
TypeScript
import { Migration } from '@mikro-orm/migrations';
|
|
|
|
export class Migration20250120111059 extends Migration {
|
|
|
|
async up(): Promise<void> {
|
|
this.addSql('CREATE UNIQUE INDEX IF NOT EXISTS "IDX_workflow_execution_workflow_id_transaction_id_unique" ON "workflow_execution" (workflow_id, transaction_id) WHERE deleted_at IS NULL;');
|
|
}
|
|
|
|
async down(): Promise<void> {
|
|
this.addSql('drop index if exists "IDX_workflow_execution_workflow_id_transaction_id_unique";');
|
|
}
|
|
|
|
}
|