diff --git a/packages/db/migrations/0030_messaging.sql b/packages/db/migrations/0030_messaging.sql index dbf1b61..c404505 100644 --- a/packages/db/migrations/0030_messaging.sql +++ b/packages/db/migrations/0030_messaging.sql @@ -23,7 +23,7 @@ CREATE TABLE "conversations" ( "updated_at" timestamp NOT NULL DEFAULT now() ); -CREATE INDEX "idx_conversations_business_id_last_message_at" ON "conversations"("business_id", "last_message_at"); +CREATE INDEX "idx_conversations_business_id_last_message_at" ON "conversations"("business_id", "last_message_at" DESC); CREATE UNIQUE INDEX "uq_conversations_business_client_number" ON "conversations"("business_id", "client_id", "business_number"); CREATE TABLE "messages" ( @@ -41,7 +41,7 @@ CREATE TABLE "messages" ( "read_by_client_at" timestamp ); -CREATE INDEX "idx_messages_conversation_id_created_at" ON "messages"("conversation_id", "created_at"); +CREATE INDEX "idx_messages_conversation_id_created_at" ON "messages"("conversation_id", "created_at" DESC); CREATE UNIQUE INDEX "uq_messages_provider_message_id" ON "messages"("provider_message_id"); CREATE TABLE "message_attachments" ( diff --git a/packages/db/migrations/meta/_journal.json b/packages/db/migrations/meta/_journal.json index 43f81e7..eef2244 100644 --- a/packages/db/migrations/meta/_journal.json +++ b/packages/db/migrations/meta/_journal.json @@ -198,9 +198,23 @@ "tag": "0027_refunds", "breakpoints": true }, + { + "idx": 28, + "version": "7", + "when": 1775741667192, + "tag": "0028_sms_reminders", + "breakpoints": true + }, { "idx": 29, "version": "7", + "when": 1775784467192, + "tag": "0029_db_indexes_constraints", + "breakpoints": true + }, + { + "idx": 30, + "version": "7", "when": 1775828067192, "tag": "0030_messaging", "breakpoints": true diff --git a/packages/db/src/schema.ts b/packages/db/src/schema.ts index 165eac8..f1d74b3 100644 --- a/packages/db/src/schema.ts +++ b/packages/db/src/schema.ts @@ -448,7 +448,7 @@ export const conversations = pgTable( (t) => [ index("idx_conversations_business_id_last_message_at").on( t.businessId, - t.lastMessageAt + t.lastMessageAt.desc() ), unique("uq_conversations_business_client_number").on( t.businessId, @@ -479,7 +479,10 @@ export const messages = pgTable( readByClientAt: timestamp("read_by_client_at"), }, (t) => [ - index("idx_messages_conversation_id_created_at").on(t.conversationId, t.createdAt), + index("idx_messages_conversation_id_created_at").on( + t.conversationId, + t.createdAt.desc() + ), unique("uq_messages_provider_message_id").on(t.providerMessageId), ] );