Refactor database migrations and schema for Chat and Setting tables

- Removed the unique constraint on `remoteJid` and `instanceId` in the `Chat` model to prevent potential migration failures due to existing duplicates.
- Deleted the old migration file for adding `wavoipToken` to the `Setting` table and created a new migration that includes a check for the column's existence before adding it, ensuring smoother migration processes.
- Updated migration logic to clear previous migrations related to `wavoip_token` to maintain a clean migration history.
This commit is contained in:
Davidson Gomes 2025-01-22 11:58:34 -03:00
parent f340f7716f
commit 37a9e316a8
3 changed files with 21 additions and 18 deletions

View File

@ -1,17 +0,0 @@
/*
Warnings:
- A unique constraint covering the columns `[remoteJid,instanceId]` on the table `Chat` will be added. If there are existing duplicate values, this will fail.
*/
-- AlterTable
ALTER TABLE "Setting" ADD COLUMN "wavoipToken" VARCHAR(100);
-- Remover registros duplicados antes de criar o índice único
DELETE FROM "Chat" a USING "Chat" b
WHERE a.ctid < b.ctid
AND a.remoteJid = b.remoteJid
AND a.instanceId = b.instanceId;
-- CreateIndex
CREATE UNIQUE INDEX "Chat_remoteJid_instanceId_key" ON "Chat"("remoteJid", "instanceId");

View File

@ -0,0 +1,21 @@
/*
Warnings:
- A unique constraint covering the columns `[remoteJid,instanceId]` on the table `Chat` will be added. If there are existing duplicate values, this will fail.
*/
-- Clear migrations
DELETE FROM "_prisma_migrations" WHERE "migration_name" LIKE '%_add_wavoip_token_to_settings_table';
-- AlterTable
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM information_schema.columns
WHERE table_name = 'Setting'
AND column_name = 'wavoipToken'
) THEN
ALTER TABLE "Setting" ADD COLUMN "wavoipToken" VARCHAR(100);
END IF;
END $$;

View File

@ -127,7 +127,6 @@ model Chat {
unreadMessages Int @default(0)
@@index([instanceId])
@@index([remoteJid])
@@unique([remoteJid, instanceId])
}
model Contact {