···11-import { pgTable, text, timestamp, jsonb, uuid } from 'drizzle-orm/pg-core';
11+import { pgTable, text, timestamp, jsonb, uuid, index } from 'drizzle-orm/pg-core';
2233export const feedActivities = pgTable('feed_activities', {
44 id: uuid('id').primaryKey(),
···77 metadata: jsonb('metadata').notNull(), // Activity-specific metadata
88 urlType: text('url_type'), // Optional URL type from the card
99 createdAt: timestamp('created_at').notNull().defaultNow(),
1010-});
1010+}, (table) => ({
1111+ // Index for filtering by activity type
1212+ typeIdx: index('feed_activities_type_idx').on(table.type),
1313+ // Index for filtering by URL type
1414+ urlTypeIdx: index('feed_activities_url_type_idx').on(table.urlType),
1515+ // Index for sorting by creation date (most recent first)
1616+ createdAtIdx: index('feed_activities_created_at_idx').on(table.createdAt.desc()),
1717+ // Composite index for common query patterns (type + createdAt)
1818+ typeCreatedAtIdx: index('feed_activities_type_created_at_idx').on(table.type, table.createdAt.desc()),
1919+ // Composite index for URL type filtering with date sorting
2020+ urlTypeCreatedAtIdx: index('feed_activities_url_type_created_at_idx').on(table.urlType, table.createdAt.desc()),
2121+}));