ava/prisma/migrations/20241123022340_update_emailhashes/migration.sql
2024-11-22 19:31:11 -08:00

27 lines
1.2 KiB
SQL

/*
Warnings:
- The primary key for the `EmailHashes` table will be changed. If it partially fails, the table could be left without primary key constraint.
*/
-- RedefineTables
PRAGMA defer_foreign_keys=ON;
PRAGMA foreign_keys=OFF;
CREATE TABLE "new_EmailHashes" (
"forUserId" TEXT NOT NULL,
"email" TEXT NOT NULL DEFAULT 'unknown:${uuid()}',
"sha256" BLOB NOT NULL,
"md5" BLOB NOT NULL,
"isPrimaryForUserId" TEXT,
CONSTRAINT "EmailHashes_forUserId_fkey" FOREIGN KEY ("forUserId") REFERENCES "User" ("userId") ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT "EmailHashes_isPrimaryForUserId_fkey" FOREIGN KEY ("isPrimaryForUserId") REFERENCES "User" ("userId") ON DELETE SET NULL ON UPDATE CASCADE
);
INSERT INTO "new_EmailHashes" ("forUserId", "md5", "sha256") SELECT "forUserId", "md5", "sha256" FROM "EmailHashes";
DROP TABLE "EmailHashes";
ALTER TABLE "new_EmailHashes" RENAME TO "EmailHashes";
CREATE UNIQUE INDEX "EmailHashes_email_key" ON "EmailHashes"("email");
CREATE UNIQUE INDEX "EmailHashes_isPrimaryForUserId_key" ON "EmailHashes"("isPrimaryForUserId");
CREATE UNIQUE INDEX "EmailHashes_sha256_md5_key" ON "EmailHashes"("sha256", "md5");
PRAGMA foreign_keys=ON;
PRAGMA defer_foreign_keys=OFF;