brutalism design
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
PRAGMA defer_foreign_keys=ON;
|
||||
PRAGMA foreign_keys=OFF;
|
||||
|
||||
-- =====================
|
||||
-- Channel
|
||||
-- =====================
|
||||
CREATE TABLE "new_Channel" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"ownerId" TEXT,
|
||||
"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", "ownerId", "ownerUsername", "persistent")
|
||||
SELECT c."id", c."name", c."ownerId",
|
||||
(SELECT u."username" FROM "User" u WHERE u."id" = c."ownerId"),
|
||||
c."persistent"
|
||||
FROM "Channel" c;
|
||||
DROP TABLE "Channel";
|
||||
ALTER TABLE "new_Channel" RENAME TO "Channel";
|
||||
|
||||
-- =====================
|
||||
-- Message
|
||||
-- =====================
|
||||
CREATE TABLE "new_Message" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"text" TEXT NOT NULL,
|
||||
"senderId" TEXT,
|
||||
"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" ("id", "text", "senderId", "senderUsername", "createdAt", "updatedAt")
|
||||
SELECT m."id", m."text", m."senderId",
|
||||
(SELECT u."username" FROM "User" u WHERE u."id" = m."senderId"),
|
||||
m."createdAt", m."updatedAt"
|
||||
FROM "Message" m;
|
||||
DROP TABLE "Message";
|
||||
ALTER TABLE "new_Message" RENAME TO "Message";
|
||||
|
||||
-- =====================
|
||||
-- Session
|
||||
-- =====================
|
||||
CREATE TABLE "new_Session" (
|
||||
"id" TEXT NOT NULL PRIMARY KEY,
|
||||
"userId" TEXT NOT NULL,
|
||||
"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" ("id", "userId", "username", "expiresAt")
|
||||
SELECT s."id", s."userId",
|
||||
(SELECT u."username" FROM "User" u WHERE u."id" = s."userId"),
|
||||
s."expiresAt"
|
||||
FROM "Session" s;
|
||||
DROP TABLE "Session";
|
||||
ALTER TABLE "new_Session" RENAME TO "Session";
|
||||
CREATE INDEX "Session_userId_idx" ON "Session"("userId");
|
||||
|
||||
-- =====================
|
||||
-- User
|
||||
-- =====================
|
||||
CREATE TABLE "new_User" (
|
||||
"id" TEXT NOT NULL,
|
||||
"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", "id", "password", "updatedAt", "username")
|
||||
SELECT "createdAt", "displayName", "id", "password", "updatedAt", "username"
|
||||
FROM "User";
|
||||
DROP TABLE "User";
|
||||
ALTER TABLE "new_User" RENAME TO "User";
|
||||
CREATE UNIQUE INDEX "User_username_key" ON "User"("username");
|
||||
|
||||
-- =====================
|
||||
-- UserPreferences
|
||||
-- =====================
|
||||
CREATE TABLE "new_UserPreferences" (
|
||||
"userId" TEXT NOT NULL,
|
||||
"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" ("userId", "username", "toggleInputHotkey", "toggleOutputHotkey")
|
||||
SELECT up."userId",
|
||||
(SELECT u."username" FROM "User" u WHERE u."id" = up."userId"),
|
||||
up."toggleInputHotkey", up."toggleOutputHotkey"
|
||||
FROM "UserPreferences" up;
|
||||
DROP TABLE "UserPreferences";
|
||||
ALTER TABLE "new_UserPreferences" RENAME TO "UserPreferences";
|
||||
CREATE UNIQUE INDEX "UserPreferences_userId_key" ON "UserPreferences"("userId");
|
||||
CREATE UNIQUE INDEX "UserPreferences_username_key" ON "UserPreferences"("username");
|
||||
|
||||
PRAGMA foreign_keys=ON;
|
||||
PRAGMA defer_foreign_keys=OFF;
|
||||
Reference in New Issue
Block a user