fix(order): Add composite unique index on order_item version:item_id (#14164)

* Unique index on order_item version:item_id

* Add changeset
This commit is contained in:
Nicolas Gorga
2025-12-02 08:55:25 -03:00
committed by GitHub
parent 0158554020
commit ef162f8b5f
4 changed files with 33 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
---
"@medusajs/order": minor
---
fix(order): Add composite unique index on order_item version:item_id

View File

@@ -2005,6 +2005,15 @@
"unique": false,
"expression": "CREATE INDEX IF NOT EXISTS \"IDX_order_item_deleted_at\" ON \"order_item\" (\"deleted_at\") WHERE deleted_at IS NOT NULL"
},
{
"keyName": "IDX_unique_order_item_version_item_id",
"columnNames": [],
"composite": false,
"constraint": false,
"primary": false,
"unique": false,
"expression": "CREATE UNIQUE INDEX IF NOT EXISTS \"IDX_unique_order_item_version_item_id\" ON \"order_item\" (\"version\", \"item_id\") WHERE deleted_at IS NULL"
},
{
"keyName": "order_item_pkey",
"columnNames": [

View File

@@ -0,0 +1,13 @@
import { Migration } from '@mikro-orm/migrations';
export class Migration20251130184633 extends Migration {
override async up(): Promise<void> {
this.addSql(`CREATE UNIQUE INDEX IF NOT EXISTS "IDX_unique_order_item_version_item_id" ON "order_item" ("version", "item_id") WHERE deleted_at IS NULL;`);
}
override async down(): Promise<void> {
this.addSql(`drop index if exists "IDX_unique_order_item_version_item_id";`);
}
}

View File

@@ -51,6 +51,12 @@ const _OrderItem = model
unique: false,
where: "deleted_at IS NOT NULL",
},
{
name: "IDX_unique_order_item_version_item_id",
on: ["version", "item_id"],
unique: true,
where: "deleted_at IS NULL",
},
])
export const OrderItem = _OrderItem