diff --git a/.changeset/eight-geckos-carry.md b/.changeset/eight-geckos-carry.md new file mode 100644 index 0000000000..a50ed00676 --- /dev/null +++ b/.changeset/eight-geckos-carry.md @@ -0,0 +1,5 @@ +--- +"@medusajs/link-modules": patch +--- + +chore(): Improve link indexes diff --git a/integration-tests/modules/__tests__/regions/admin/regions.spec.ts b/integration-tests/modules/__tests__/regions/admin/regions.spec.ts index e5af7c3353..5037606667 100644 --- a/integration-tests/modules/__tests__/regions/admin/regions.spec.ts +++ b/integration-tests/modules/__tests__/regions/admin/regions.spec.ts @@ -226,14 +226,14 @@ medusaIntegrationTestRunner({ expect(regionResponse.data.region).toEqual( expect.objectContaining({ id: regionResponse.data.region.id, - payment_providers: [ + payment_providers: expect.arrayContaining([ expect.objectContaining({ id: paymentProvider2Id, }), expect.objectContaining({ id: paymentProviderId, }), - ], + ]), }) ) }) diff --git a/packages/modules/link-modules/integration-tests/__tests__/migrations.spec.ts b/packages/modules/link-modules/integration-tests/__tests__/migrations.spec.ts index b9a2458e15..2121e7c513 100644 --- a/packages/modules/link-modules/integration-tests/__tests__/migrations.spec.ts +++ b/packages/modules/link-modules/integration-tests/__tests__/migrations.spec.ts @@ -73,9 +73,9 @@ moduleIntegrationTestRunner({ "set names 'utf8';\n" + "\n" + 'create table if not exists "user_user_car_car" ("user_id" varchar(255) not null, "car_id" varchar(255) not null, "id" varchar(255) not null, "created_at" timestamptz not null default CURRENT_TIMESTAMP, "updated_at" timestamptz not null default CURRENT_TIMESTAMP, "deleted_at" timestamptz null, constraint "user_user_car_car_pkey" primary key ("user_id", "car_id"));\n' + - 'create index if not exists "IDX_car_id_-92128f74" on "user_user_car_car" ("car_id");\n' + 'create index if not exists "IDX_id_-92128f74" on "user_user_car_car" ("id");\n' + - 'create index if not exists "IDX_user_id_-92128f74" on "user_user_car_car" ("user_id");\n' + + 'CREATE INDEX IF NOT EXISTS "IDX_user_id_-92128f74" ON "user_user_car_car" ("user_id") WHERE deleted_at IS NULL;\n' + + 'CREATE INDEX IF NOT EXISTS "IDX_car_id_-92128f74" ON "user_user_car_car" ("car_id") WHERE deleted_at IS NULL;\n' + 'create index if not exists "IDX_deleted_at_-92128f74" on "user_user_car_car" ("deleted_at");\n' + "\n", }) @@ -94,9 +94,9 @@ moduleIntegrationTestRunner({ "set names 'utf8';\n" + "\n" + 'create table if not exists "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de" ("user_id" varchar(255) not null, "very_long_table_name_of_custom_module_id" varchar(255) not null, "id" varchar(255) not null, "created_at" timestamptz not null default CURRENT_TIMESTAMP, "updated_at" timestamptz not null default CURRENT_TIMESTAMP, "deleted_at" timestamptz null, constraint "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de_pkey" primary key ("user_id", "very_long_table_name_of_custom_module_id"));\n' + - 'create index if not exists "IDX_very_long_table_name_of_custom_module_id_1776e67de" on "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de" ("very_long_table_name_of_custom_module_id");\n' + 'create index if not exists "IDX_id_1776e67de" on "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de" ("id");\n' + - 'create index if not exists "IDX_user_id_1776e67de" on "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de" ("user_id");\n' + + 'CREATE INDEX IF NOT EXISTS "IDX_user_id_1776e67de" ON "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de" ("user_id") WHERE deleted_at IS NULL;\n' + + 'CREATE INDEX IF NOT EXISTS "IDX_very_long_table_name_of_custom_module_id_1776e67de" ON "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de" ("very_long_table_name_of_custom_module_id") WHERE deleted_at IS NULL;\n' + 'create index if not exists "IDX_deleted_at_1776e67de" on "user_user_cust_very_long_tabl_name_of_cust_modu1776e67de" ("deleted_at");\n' + "\n", }) diff --git a/packages/modules/link-modules/src/utils/generate-entity.ts b/packages/modules/link-modules/src/utils/generate-entity.ts index 07ee2dbed7..ad9119bd72 100644 --- a/packages/modules/link-modules/src/utils/generate-entity.ts +++ b/packages/modules/link-modules/src/utils/generate-entity.ts @@ -90,7 +90,7 @@ export function generateEntity( type: "date", nullable: true, }, - }, + } as any, filters: { [SoftDeletableFilterKey]: mikroOrmSoftDeletableFilterOptions, }, @@ -107,16 +107,38 @@ export function generateEntity( name: "IDX_id_" + hashTableName, }, { - properties: primary.foreignKey.split(","), + properties: primary.foreignKey.split(",") as any, name: "IDX_" + primary.foreignKey.split(",").join("_") + "_" + hashTableName, + expression: + "CREATE INDEX IF NOT EXISTS " + + '"IDX_' + + primary.foreignKey.split(",").join("_") + + "_" + + hashTableName + + '" ON "' + + compressName(tableName) + + '" ("' + + primary.foreignKey.split(",").join(",") + + '") WHERE deleted_at IS NULL', }, { - properties: foreign.foreignKey, + properties: foreign.foreignKey as any, name: "IDX_" + foreign.foreignKey + "_" + hashTableName, + expression: + "CREATE INDEX IF NOT EXISTS " + + '"IDX_' + + foreign.foreignKey + + "_" + + hashTableName + + '" ON "' + + compressName(tableName) + + '" ("' + + foreign.foreignKey + + '") WHERE deleted_at IS NULL', }, { properties: ["deleted_at"], diff --git a/packages/modules/workflow-engine-redis/integration-tests/__tests__/index.spec.ts b/packages/modules/workflow-engine-redis/integration-tests/__tests__/index.spec.ts index f005582a39..dbc441d4a0 100644 --- a/packages/modules/workflow-engine-redis/integration-tests/__tests__/index.spec.ts +++ b/packages/modules/workflow-engine-redis/integration-tests/__tests__/index.spec.ts @@ -526,7 +526,7 @@ moduleIntegrationTestRunner({ throwOnError: false, }) - await setTimeout(1000) + await setTimeout(4000) expect(step1InvokeMockAutoRetriesFalse).toHaveBeenCalledTimes(1) expect(step2InvokeMockAutoRetriesFalse).toHaveBeenCalledTimes(2)