From 3698246e6e5604aa8b5a6481e413016a9dbf3e14 Mon Sep 17 00:00:00 2001 From: amianthus <49116958+SirTenzin@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:19:51 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20sync=20getPaginatedFullC?= =?UTF-8?q?usQuery=20and=20db=20schemas=20with=20index?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/models/cusModels/cusTable.ts | 14 +++++++++++--- .../models/cusModels/entityModels/entityTable.ts | 5 +---- .../cusProductModels/cusEntModels/cusEntTable.ts | 11 ++++++++++- shared/models/cusProductModels/cusProductTable.ts | 7 +++++++ 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/shared/models/cusModels/cusTable.ts b/shared/models/cusModels/cusTable.ts index 14e59dbf3..14a49b03f 100644 --- a/shared/models/cusModels/cusTable.ts +++ b/shared/models/cusModels/cusTable.ts @@ -62,10 +62,18 @@ export const customers = pgTable( .on(table.org_id, table.env, table.fingerprint) .where(sql`${table.fingerprint} IS NOT NULL`), index("idx_customers_processor_id").on(sql`(${table.processor} ->> 'id')`), + index("idx_customers_composite").on(table.org_id, table.env, table.id), + index("idx_customers_org_env_internal_id").on( + table.org_id, + table.env, + sql`${table.internal_id} DESC`, + ), + index("idx_customers_org_id_env_created_at").on( + table.org_id, + table.env, + sql`${table.created_at} DESC`, + ), ], ).enableRLS(); collatePgColumn(customers.internal_id, "C"); - -// CREATE INDEX idx_customers_org_env_internal_id -// ON customers (org_id, env, internal_id DESC); diff --git a/shared/models/cusModels/entityModels/entityTable.ts b/shared/models/cusModels/entityModels/entityTable.ts index 5cfe847b6..102b75d5d 100644 --- a/shared/models/cusModels/entityModels/entityTable.ts +++ b/shared/models/cusModels/entityModels/entityTable.ts @@ -58,10 +58,7 @@ export const entities = pgTable( table.internal_customer_id, table.id, ), - index("idx_entities_internal_customer_id").using( - "hash", - table.internal_customer_id, - ), + index("idx_entities_internal_customer_id").on(table.internal_customer_id), index("idx_entities_customer_internal_desc").on( table.internal_customer_id, sql`${table.internal_id} DESC`, diff --git a/shared/models/cusProductModels/cusEntModels/cusEntTable.ts b/shared/models/cusProductModels/cusEntModels/cusEntTable.ts index 58ad71ad8..6d9ce03ea 100644 --- a/shared/models/cusProductModels/cusEntModels/cusEntTable.ts +++ b/shared/models/cusProductModels/cusEntModels/cusEntTable.ts @@ -77,10 +77,19 @@ export const customerEntitlements = pgTable( .onUpdate("cascade") .onDelete("cascade"), index("idx_customer_entitlements_product_id").on(table.customer_product_id), - index("idx_customer_entitlements_internal_customer_id").on( + index("idx_customer_entitlements_internal_customer_id").using( + "hash", + table.internal_customer_id, + ), + index("idx_customer_entitlements_internal_customer_id_btree").on( table.internal_customer_id, ), index("idx_customer_entitlements_entitlement_id").on(table.entitlement_id), + index("idx_customer_entitlements_internal_entity_id").using( + "hash", + table.internal_entity_id, + ), + index("idx_customer_entitlements_on_next_reset_at").on(table.next_reset_at), index("idx_customer_entitlements_loose_customer_expires") .on(table.internal_customer_id, table.expires_at) .where(sql`${table.customer_product_id} IS NULL`), diff --git a/shared/models/cusProductModels/cusProductTable.ts b/shared/models/cusProductModels/cusProductTable.ts index b4762a90a..4f2756e3c 100644 --- a/shared/models/cusProductModels/cusProductTable.ts +++ b/shared/models/cusProductModels/cusProductTable.ts @@ -89,6 +89,13 @@ export const customerProducts = pgTable( index("idx_customer_products_on_internal_entity_id").on( table.internal_entity_id, ), + index("idx_customer_products_on_internal_product_id").on( + table.internal_product_id, + ), + index("idx_customer_products_subscription_ids").using( + "gin", + table.subscription_ids, + ), ], );