|
| 1 | +-- CreateTable |
| 2 | +CREATE TABLE "Audit" ( |
| 3 | + "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, |
| 4 | + "timestamp" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 5 | + "severity" TEXT NOT NULL DEFAULT 'normal', |
| 6 | + "action" TEXT NOT NULL, |
| 7 | + "namespace" TEXT NOT NULL, |
| 8 | + "phase" TEXT NOT NULL, |
| 9 | + "app" TEXT NOT NULL, |
| 10 | + "pipeline" TEXT NOT NULL, |
| 11 | + "resource" TEXT NOT NULL DEFAULT 'unknown', |
| 12 | + "message" TEXT NOT NULL, |
| 13 | + "user" TEXT NOT NULL, |
| 14 | + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 15 | + "updatedAt" DATETIME NOT NULL, |
| 16 | + CONSTRAINT "Audit_user_fkey" FOREIGN KEY ("user") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE |
| 17 | +); |
| 18 | + |
| 19 | +-- CreateTable |
| 20 | +CREATE TABLE "User" ( |
| 21 | + "id" TEXT NOT NULL PRIMARY KEY, |
| 22 | + "username" TEXT NOT NULL, |
| 23 | + "firstName" TEXT, |
| 24 | + "lastName" TEXT, |
| 25 | + "company" TEXT, |
| 26 | + "location" TEXT, |
| 27 | + "email" TEXT NOT NULL, |
| 28 | + "emailVerified" DATETIME, |
| 29 | + "password" TEXT NOT NULL, |
| 30 | + "twoFaSecret" TEXT, |
| 31 | + "twoFaEnabled" BOOLEAN NOT NULL DEFAULT false, |
| 32 | + "image" TEXT, |
| 33 | + "roleId" TEXT, |
| 34 | + "isActive" BOOLEAN NOT NULL DEFAULT true, |
| 35 | + "lastLogin" DATETIME, |
| 36 | + "lastIp" TEXT, |
| 37 | + "provider" TEXT DEFAULT 'local', |
| 38 | + "providerId" TEXT, |
| 39 | + "providerData" TEXT, |
| 40 | + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 41 | + "updatedAt" DATETIME NOT NULL, |
| 42 | + CONSTRAINT "User_roleId_fkey" FOREIGN KEY ("roleId") REFERENCES "Role" ("id") ON DELETE SET NULL ON UPDATE CASCADE |
| 43 | +); |
| 44 | + |
| 45 | +-- CreateTable |
| 46 | +CREATE TABLE "UserGroup" ( |
| 47 | + "id" TEXT NOT NULL PRIMARY KEY, |
| 48 | + "name" TEXT NOT NULL, |
| 49 | + "description" TEXT, |
| 50 | + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 51 | + "updatedAt" DATETIME NOT NULL |
| 52 | +); |
| 53 | + |
| 54 | +-- CreateTable |
| 55 | +CREATE TABLE "Role" ( |
| 56 | + "id" TEXT NOT NULL PRIMARY KEY, |
| 57 | + "name" TEXT NOT NULL, |
| 58 | + "description" TEXT, |
| 59 | + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 60 | + "updatedAt" DATETIME NOT NULL |
| 61 | +); |
| 62 | + |
| 63 | +-- CreateTable |
| 64 | +CREATE TABLE "Token" ( |
| 65 | + "id" TEXT NOT NULL PRIMARY KEY, |
| 66 | + "userId" TEXT NOT NULL, |
| 67 | + "token" TEXT NOT NULL, |
| 68 | + "expiresAt" DATETIME NOT NULL, |
| 69 | + "isActive" BOOLEAN NOT NULL DEFAULT true, |
| 70 | + "lastUsed" DATETIME, |
| 71 | + "lastIp" TEXT, |
| 72 | + "description" TEXT, |
| 73 | + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 74 | + "updatedAt" DATETIME NOT NULL, |
| 75 | + CONSTRAINT "Token_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE |
| 76 | +); |
| 77 | + |
| 78 | +-- CreateTable |
| 79 | +CREATE TABLE "Permission" ( |
| 80 | + "id" TEXT NOT NULL PRIMARY KEY, |
| 81 | + "resource" TEXT NOT NULL, |
| 82 | + "action" TEXT NOT NULL, |
| 83 | + "namespace" TEXT, |
| 84 | + "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, |
| 85 | + "updatedAt" DATETIME NOT NULL |
| 86 | +); |
| 87 | + |
| 88 | +-- CreateTable |
| 89 | +CREATE TABLE "_UserToUserGroup" ( |
| 90 | + "A" TEXT NOT NULL, |
| 91 | + "B" TEXT NOT NULL, |
| 92 | + CONSTRAINT "_UserToUserGroup_A_fkey" FOREIGN KEY ("A") REFERENCES "User" ("id") ON DELETE CASCADE ON UPDATE CASCADE, |
| 93 | + CONSTRAINT "_UserToUserGroup_B_fkey" FOREIGN KEY ("B") REFERENCES "UserGroup" ("id") ON DELETE CASCADE ON UPDATE CASCADE |
| 94 | +); |
| 95 | + |
| 96 | +-- CreateTable |
| 97 | +CREATE TABLE "_PermissionToRole" ( |
| 98 | + "A" TEXT NOT NULL, |
| 99 | + "B" TEXT NOT NULL, |
| 100 | + CONSTRAINT "_PermissionToRole_A_fkey" FOREIGN KEY ("A") REFERENCES "Permission" ("id") ON DELETE CASCADE ON UPDATE CASCADE, |
| 101 | + CONSTRAINT "_PermissionToRole_B_fkey" FOREIGN KEY ("B") REFERENCES "Role" ("id") ON DELETE CASCADE ON UPDATE CASCADE |
| 102 | +); |
| 103 | + |
| 104 | +-- CreateTable |
| 105 | +CREATE TABLE "_PermissionToToken" ( |
| 106 | + "A" TEXT NOT NULL, |
| 107 | + "B" TEXT NOT NULL, |
| 108 | + CONSTRAINT "_PermissionToToken_A_fkey" FOREIGN KEY ("A") REFERENCES "Permission" ("id") ON DELETE CASCADE ON UPDATE CASCADE, |
| 109 | + CONSTRAINT "_PermissionToToken_B_fkey" FOREIGN KEY ("B") REFERENCES "Token" ("id") ON DELETE CASCADE ON UPDATE CASCADE |
| 110 | +); |
| 111 | + |
| 112 | +-- CreateIndex |
| 113 | +CREATE UNIQUE INDEX "User_username_key" ON "User"("username"); |
| 114 | + |
| 115 | +-- CreateIndex |
| 116 | +CREATE UNIQUE INDEX "User_email_key" ON "User"("email"); |
| 117 | + |
| 118 | +-- CreateIndex |
| 119 | +CREATE UNIQUE INDEX "UserGroup_name_key" ON "UserGroup"("name"); |
| 120 | + |
| 121 | +-- CreateIndex |
| 122 | +CREATE UNIQUE INDEX "Role_name_key" ON "Role"("name"); |
| 123 | + |
| 124 | +-- CreateIndex |
| 125 | +CREATE UNIQUE INDEX "Token_token_key" ON "Token"("token"); |
| 126 | + |
| 127 | +-- CreateIndex |
| 128 | +CREATE UNIQUE INDEX "_UserToUserGroup_AB_unique" ON "_UserToUserGroup"("A", "B"); |
| 129 | + |
| 130 | +-- CreateIndex |
| 131 | +CREATE INDEX "_UserToUserGroup_B_index" ON "_UserToUserGroup"("B"); |
| 132 | + |
| 133 | +-- CreateIndex |
| 134 | +CREATE UNIQUE INDEX "_PermissionToRole_AB_unique" ON "_PermissionToRole"("A", "B"); |
| 135 | + |
| 136 | +-- CreateIndex |
| 137 | +CREATE INDEX "_PermissionToRole_B_index" ON "_PermissionToRole"("B"); |
| 138 | + |
| 139 | +-- CreateIndex |
| 140 | +CREATE UNIQUE INDEX "_PermissionToToken_AB_unique" ON "_PermissionToToken"("A", "B"); |
| 141 | + |
| 142 | +-- CreateIndex |
| 143 | +CREATE INDEX "_PermissionToToken_B_index" ON "_PermissionToToken"("B"); |
0 commit comments