mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-10 04:30:25 +02:00
30 lines
886 B
SQL
30 lines
886 B
SQL
-- CreateEnum
|
|
CREATE TYPE "FileType" AS ENUM ('ALBUM', 'SONG', 'AUDIO', 'USER');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "File" (
|
|
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
|
"path" TEXT NOT NULL,
|
|
"originalName" TEXT NOT NULL,
|
|
"fileName" TEXT NOT NULL,
|
|
"size" INTEGER NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
"type" "FileType" NOT NULL,
|
|
"userId" UUID,
|
|
|
|
CONSTRAINT "File_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "File_path_key" ON "File"("path");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "File_fileName_key" ON "File"("fileName");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "File_userId_type_key" ON "File"("userId", "type");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "File" ADD CONSTRAINT "File_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|