From 3508b56315dba239b33ca01ce5a82d6e4eff36b8 Mon Sep 17 00:00:00 2001 From: amianthus <49116958+SirTenzin@users.noreply.github.com> Date: Wed, 13 May 2026 13:58:20 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20base=20indices=20for=20p?= =?UTF-8?q?agination?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/models/cusModels/cusTable.ts | 6 ++++++ shared/models/cusModels/entityModels/entityTable.ts | 6 ++++++ shared/models/cusProductModels/cusProductTable.ts | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/shared/models/cusModels/cusTable.ts b/shared/models/cusModels/cusTable.ts index 64b99a8f0..c0be9f954 100644 --- a/shared/models/cusModels/cusTable.ts +++ b/shared/models/cusModels/cusTable.ts @@ -89,6 +89,12 @@ export const customers = pgTable( table.env, sql`${table.created_at} DESC`, ), + index("idx_customers_cursor").on( + table.org_id, + table.env, + sql`${table.created_at} DESC`, + sql`${table.id} DESC`, + ), index("idx_customers_processors_revenuecat").on( sql`(${table.processors} ->> 'revenuecat')`, ), diff --git a/shared/models/cusModels/entityModels/entityTable.ts b/shared/models/cusModels/entityModels/entityTable.ts index f29f07044..a762395ee 100644 --- a/shared/models/cusModels/entityModels/entityTable.ts +++ b/shared/models/cusModels/entityModels/entityTable.ts @@ -70,5 +70,11 @@ export const entities = pgTable( table.env, table.id, ), + index("idx_entities_cursor").on( + table.org_id, + table.env, + sql`${table.created_at} DESC`, + sql`${table.id} DESC`, + ), ], ); diff --git a/shared/models/cusProductModels/cusProductTable.ts b/shared/models/cusProductModels/cusProductTable.ts index 802036599..6a92dc31b 100644 --- a/shared/models/cusProductModels/cusProductTable.ts +++ b/shared/models/cusProductModels/cusProductTable.ts @@ -1,4 +1,4 @@ -import type { InferInsertModel, InferSelectModel } from "drizzle-orm"; +import { sql, type InferInsertModel, type InferSelectModel } from "drizzle-orm"; import { boolean, foreignKey, @@ -111,6 +111,9 @@ export const customerProducts = pgTable( index("idx_customer_products_stripe_checkout_session_id").on( table.stripe_checkout_session_id, ), + index("idx_customer_products_revenuecat_processor") + .on(table.internal_customer_id) + .where(sql`(${table.processor} ->> 'type') = 'revenuecat'`), ], );