feat(GRO-106): messaging schema + migrations #374

Merged
groombook-engineer[bot] merged 2 commits from feat/GRO-106-messaging-schema into dev 2026-05-04 02:24:40 +00:00
3 changed files with 21 additions and 4 deletions
Showing only changes of commit 2e24c371c3 - Show all commits
+2 -2
View File
@@ -23,7 +23,7 @@ CREATE TABLE "conversations" (
"updated_at" timestamp NOT NULL DEFAULT now() "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 UNIQUE INDEX "uq_conversations_business_client_number" ON "conversations"("business_id", "client_id", "business_number");
CREATE TABLE "messages" ( CREATE TABLE "messages" (
@@ -41,7 +41,7 @@ CREATE TABLE "messages" (
"read_by_client_at" timestamp "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 UNIQUE INDEX "uq_messages_provider_message_id" ON "messages"("provider_message_id");
CREATE TABLE "message_attachments" ( CREATE TABLE "message_attachments" (
+14
View File
@@ -198,9 +198,23 @@
"tag": "0027_refunds", "tag": "0027_refunds",
"breakpoints": true "breakpoints": true
}, },
{
"idx": 28,
"version": "7",
"when": 1775741667192,
"tag": "0028_sms_reminders",
"breakpoints": true
},
{ {
"idx": 29, "idx": 29,
"version": "7", "version": "7",
"when": 1775784467192,
"tag": "0029_db_indexes_constraints",
"breakpoints": true
},
{
"idx": 30,
"version": "7",
"when": 1775828067192, "when": 1775828067192,
"tag": "0030_messaging", "tag": "0030_messaging",
"breakpoints": true "breakpoints": true
+5 -2
View File
@@ -448,7 +448,7 @@ export const conversations = pgTable(
(t) => [ (t) => [
index("idx_conversations_business_id_last_message_at").on( index("idx_conversations_business_id_last_message_at").on(
t.businessId, t.businessId,
t.lastMessageAt t.lastMessageAt.desc()
), ),
unique("uq_conversations_business_client_number").on( unique("uq_conversations_business_client_number").on(
t.businessId, t.businessId,
@@ -479,7 +479,10 @@ export const messages = pgTable(
readByClientAt: timestamp("read_by_client_at"), readByClientAt: timestamp("read_by_client_at"),
}, },
(t) => [ (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), unique("uq_messages_provider_message_id").on(t.providerMessageId),
] ]
); );