This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

perf: add performance indexes for feed activities query optimization

Co-authored-by: aider (anthropic/claude-sonnet-4-20250514) <aider@aider.chat>

+13 -2
+13 -2
src/modules/feeds/infrastructure/repositories/schema/feedActivity.sql.ts
··· 1 - import { pgTable, text, timestamp, jsonb, uuid } from 'drizzle-orm/pg-core'; 1 + import { pgTable, text, timestamp, jsonb, uuid, index } from 'drizzle-orm/pg-core'; 2 2 3 3 export const feedActivities = pgTable('feed_activities', { 4 4 id: uuid('id').primaryKey(), ··· 7 7 metadata: jsonb('metadata').notNull(), // Activity-specific metadata 8 8 urlType: text('url_type'), // Optional URL type from the card 9 9 createdAt: timestamp('created_at').notNull().defaultNow(), 10 - }); 10 + }, (table) => ({ 11 + // Index for filtering by activity type 12 + typeIdx: index('feed_activities_type_idx').on(table.type), 13 + // Index for filtering by URL type 14 + urlTypeIdx: index('feed_activities_url_type_idx').on(table.urlType), 15 + // Index for sorting by creation date (most recent first) 16 + createdAtIdx: index('feed_activities_created_at_idx').on(table.createdAt.desc()), 17 + // Composite index for common query patterns (type + createdAt) 18 + typeCreatedAtIdx: index('feed_activities_type_created_at_idx').on(table.type, table.createdAt.desc()), 19 + // Composite index for URL type filtering with date sorting 20 + urlTypeCreatedAtIdx: index('feed_activities_url_type_created_at_idx').on(table.urlType, table.createdAt.desc()), 21 + }));