2025-10-27 05:59:24 +00:00

45 lines
1.3 KiB
SQL

-- CreateTable
CREATE TABLE "User" (
"id" TEXT NOT NULL,
"githubId" TEXT NOT NULL,
"username" TEXT NOT NULL,
"avatarUrl" TEXT NOT NULL,
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "Repository" (
"id" INTEGER NOT NULL,
"name" TEXT NOT NULL,
"owner" TEXT NOT NULL,
CONSTRAINT "Repository_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "PullRequest" (
"id" TEXT NOT NULL,
"number" INTEGER NOT NULL,
"title" TEXT NOT NULL,
"state" TEXT NOT NULL,
"created_at" TIMESTAMP(3) NOT NULL,
"closed_at" TIMESTAMP(3),
"repositoryId" INTEGER NOT NULL,
"authorId" TEXT NOT NULL,
CONSTRAINT "PullRequest_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "User_githubId_key" ON "User"("githubId");
-- CreateIndex
CREATE UNIQUE INDEX "PullRequest_repositoryId_number_key" ON "PullRequest"("repositoryId", "number");
-- AddForeignKey
ALTER TABLE "PullRequest" ADD CONSTRAINT "PullRequest_repositoryId_fkey" FOREIGN KEY ("repositoryId") REFERENCES "Repository"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "PullRequest" ADD CONSTRAINT "PullRequest_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;