68 lines
3.4 KiB
SQL
68 lines
3.4 KiB
SQL
/*
|
|
Warnings:
|
|
|
|
- You are about to drop the column `ownerId` on the `Channel` table. All the data in the column will be lost.
|
|
- You are about to drop the column `senderId` on the `Message` table. All the data in the column will be lost.
|
|
- You are about to drop the column `userId` on the `Session` table. All the data in the column will be lost.
|
|
- You are about to drop the column `id` on the `User` table. All the data in the column will be lost.
|
|
- You are about to drop the column `userId` on the `UserPreferences` table. All the data in the column will be lost.
|
|
|
|
*/
|
|
-- RedefineTables
|
|
PRAGMA defer_foreign_keys=ON;
|
|
PRAGMA foreign_keys=OFF;
|
|
CREATE TABLE "new_Channel" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"ownerUsername" TEXT,
|
|
"name" TEXT NOT NULL,
|
|
"persistent" BOOLEAN NOT NULL,
|
|
CONSTRAINT "Channel_ownerUsername_fkey" FOREIGN KEY ("ownerUsername") REFERENCES "User" ("username") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_Channel" ("id", "name", "ownerUsername", "persistent") SELECT "id", "name", "ownerUsername", "persistent" FROM "Channel";
|
|
DROP TABLE "Channel";
|
|
ALTER TABLE "new_Channel" RENAME TO "Channel";
|
|
CREATE TABLE "new_Message" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"text" TEXT NOT NULL,
|
|
"senderUsername" TEXT,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "Message_senderUsername_fkey" FOREIGN KEY ("senderUsername") REFERENCES "User" ("username") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_Message" ("createdAt", "id", "senderUsername", "text", "updatedAt") SELECT "createdAt", "id", "senderUsername", "text", "updatedAt" FROM "Message";
|
|
DROP TABLE "Message";
|
|
ALTER TABLE "new_Message" RENAME TO "Message";
|
|
CREATE TABLE "new_Session" (
|
|
"id" TEXT NOT NULL PRIMARY KEY,
|
|
"username" TEXT NOT NULL,
|
|
"expiresAt" DATETIME NOT NULL,
|
|
CONSTRAINT "Session_username_fkey" FOREIGN KEY ("username") REFERENCES "User" ("username") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_Session" ("expiresAt", "id", "username") SELECT "expiresAt", "id", "username" FROM "Session";
|
|
DROP TABLE "Session";
|
|
ALTER TABLE "new_Session" RENAME TO "Session";
|
|
CREATE INDEX "Session_username_idx" ON "Session"("username");
|
|
CREATE TABLE "new_User" (
|
|
"username" TEXT NOT NULL PRIMARY KEY,
|
|
"password" TEXT NOT NULL,
|
|
"displayName" TEXT NOT NULL,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL
|
|
);
|
|
INSERT INTO "new_User" ("createdAt", "displayName", "password", "updatedAt", "username") SELECT "createdAt", "displayName", "password", "updatedAt", "username" FROM "User";
|
|
DROP TABLE "User";
|
|
ALTER TABLE "new_User" RENAME TO "User";
|
|
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|
|
CREATE TABLE "new_UserPreferences" (
|
|
"username" TEXT NOT NULL PRIMARY KEY,
|
|
"toggleInputHotkey" TEXT DEFAULT '',
|
|
"toggleOutputHotkey" TEXT DEFAULT '',
|
|
CONSTRAINT "UserPreferences_username_fkey" FOREIGN KEY ("username") REFERENCES "User" ("username") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
INSERT INTO "new_UserPreferences" ("toggleInputHotkey", "toggleOutputHotkey", "username") SELECT "toggleInputHotkey", "toggleOutputHotkey", "username" FROM "UserPreferences";
|
|
DROP TABLE "UserPreferences";
|
|
ALTER TABLE "new_UserPreferences" RENAME TO "UserPreferences";
|
|
CREATE UNIQUE INDEX "UserPreferences_username_key" ON "UserPreferences"("username");
|
|
PRAGMA foreign_keys=ON;
|
|
PRAGMA defer_foreign_keys=OFF;
|