-- CreateTable CREATE TABLE "Attachment" ( "id" TEXT NOT NULL, "name" TEXT, "kategorie" TEXT, "mime" TEXT NOT NULL, CONSTRAINT "Attachment_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Message" ( "id" TEXT NOT NULL, "content" TEXT NOT NULL, "sender_id" TEXT NOT NULL, "reply_to_id" TEXT, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Message_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "_AttachmentToMessage" ( "A" TEXT NOT NULL, "B" TEXT NOT NULL, CONSTRAINT "_AttachmentToMessage_AB_pkey" PRIMARY KEY ("A","B") ); -- CreateTable CREATE TABLE "_recipients" ( "A" VARCHAR(11) NOT NULL, "B" TEXT NOT NULL, CONSTRAINT "_recipients_AB_pkey" PRIMARY KEY ("A","B") ); -- CreateIndex CREATE UNIQUE INDEX "Attachment_id_key" ON "Attachment"("id"); -- CreateIndex CREATE INDEX "_AttachmentToMessage_B_index" ON "_AttachmentToMessage"("B"); -- CreateIndex CREATE INDEX "_recipients_B_index" ON "_recipients"("B"); -- AddForeignKey ALTER TABLE "Message" ADD CONSTRAINT "Message_sender_id_fkey" FOREIGN KEY ("sender_id") REFERENCES "benutzer"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Message" ADD CONSTRAINT "Message_reply_to_id_fkey" FOREIGN KEY ("reply_to_id") REFERENCES "Message"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_AttachmentToMessage" ADD CONSTRAINT "_AttachmentToMessage_A_fkey" FOREIGN KEY ("A") REFERENCES "Attachment"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_AttachmentToMessage" ADD CONSTRAINT "_AttachmentToMessage_B_fkey" FOREIGN KEY ("B") REFERENCES "Message"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_recipients" ADD CONSTRAINT "_recipients_A_fkey" FOREIGN KEY ("A") REFERENCES "benutzer"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "_recipients" ADD CONSTRAINT "_recipients_B_fkey" FOREIGN KEY ("B") REFERENCES "Message"("id") ON DELETE CASCADE ON UPDATE CASCADE;