You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

125 lines
4.2 KiB

11 months ago
  1. -- CreateTable
  2. CREATE TABLE "api_keys" (
  3. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  4. "secret" TEXT,
  5. "createdBy" INTEGER,
  6. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  7. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
  8. );
  9. -- CreateTable
  10. CREATE TABLE "workspace_documents" (
  11. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  12. "docId" TEXT NOT NULL,
  13. "filename" TEXT NOT NULL,
  14. "docpath" TEXT NOT NULL,
  15. "workspaceId" INTEGER NOT NULL,
  16. "metadata" TEXT,
  17. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  18. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  19. CONSTRAINT "workspace_documents_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "workspaces" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
  20. );
  21. -- CreateTable
  22. CREATE TABLE "invites" (
  23. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  24. "code" TEXT NOT NULL,
  25. "status" TEXT NOT NULL DEFAULT 'pending',
  26. "claimedBy" INTEGER,
  27. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  28. "createdBy" INTEGER NOT NULL,
  29. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
  30. );
  31. -- CreateTable
  32. CREATE TABLE "system_settings" (
  33. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  34. "label" TEXT NOT NULL,
  35. "value" TEXT,
  36. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  37. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
  38. );
  39. -- CreateTable
  40. CREATE TABLE "users" (
  41. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  42. "username" TEXT,
  43. "password" TEXT NOT NULL,
  44. "role" TEXT NOT NULL DEFAULT 'default',
  45. "suspended" INTEGER NOT NULL DEFAULT 0,
  46. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  47. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
  48. );
  49. -- CreateTable
  50. CREATE TABLE "document_vectors" (
  51. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  52. "docId" TEXT NOT NULL,
  53. "vectorId" TEXT NOT NULL,
  54. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  55. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
  56. );
  57. -- CreateTable
  58. CREATE TABLE "welcome_messages" (
  59. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  60. "user" TEXT NOT NULL,
  61. "response" TEXT NOT NULL,
  62. "orderIndex" INTEGER,
  63. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
  64. );
  65. -- CreateTable
  66. CREATE TABLE "workspaces" (
  67. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  68. "name" TEXT NOT NULL,
  69. "slug" TEXT NOT NULL,
  70. "vectorTag" TEXT,
  71. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  72. "openAiTemp" REAL,
  73. "openAiHistory" INTEGER NOT NULL DEFAULT 20,
  74. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  75. "openAiPrompt" TEXT
  76. );
  77. -- CreateTable
  78. CREATE TABLE "workspace_chats" (
  79. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  80. "workspaceId" INTEGER NOT NULL,
  81. "prompt" TEXT NOT NULL,
  82. "response" TEXT NOT NULL,
  83. "include" BOOLEAN NOT NULL DEFAULT true,
  84. "user_id" INTEGER,
  85. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  86. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  87. CONSTRAINT "workspace_chats_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE CASCADE
  88. );
  89. -- CreateTable
  90. CREATE TABLE "workspace_users" (
  91. "id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  92. "user_id" INTEGER NOT NULL,
  93. "workspace_id" INTEGER NOT NULL,
  94. "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  95. "lastUpdatedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  96. CONSTRAINT "workspace_users_workspace_id_fkey" FOREIGN KEY ("workspace_id") REFERENCES "workspaces" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
  97. CONSTRAINT "workspace_users_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users" ("id") ON DELETE CASCADE ON UPDATE CASCADE
  98. );
  99. -- CreateIndex
  100. CREATE UNIQUE INDEX "api_keys_secret_key" ON "api_keys"("secret");
  101. -- CreateIndex
  102. CREATE UNIQUE INDEX "workspace_documents_docId_key" ON "workspace_documents"("docId");
  103. -- CreateIndex
  104. CREATE UNIQUE INDEX "invites_code_key" ON "invites"("code");
  105. -- CreateIndex
  106. CREATE UNIQUE INDEX "system_settings_label_key" ON "system_settings"("label");
  107. -- CreateIndex
  108. CREATE UNIQUE INDEX "users_username_key" ON "users"("username");
  109. -- CreateIndex
  110. CREATE UNIQUE INDEX "workspaces_slug_key" ON "workspaces"("slug");