CREATE TYPE "PullRequestState" AS ENUM ('OPEN', 'CLOSE_COMPLETE', 'CLOSE_DENY');
CREATE TABLE "PullRequest" (
"id" TEXT NOT NULL,
"uid" INTEGER NOT NULL DEFAULT 0,
"authorId" TEXT NOT NULL,
"sourceRepositoryId" TEXT NOT NULL,
"targetRepositoryId" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"closedAt" TIMESTAMP(3) NOT NULL,
"state" "PullRequestState" NOT NULL DEFAULT 'OPEN',
"sourceBranch" TEXT NOT NULL,
"targetBranch" TEXT NOT NULL,
"summary" TEXT NOT NULL,
"textMd" TEXT NOT NULL,
CONSTRAINT "PullRequest_pkey" PRIMARY KEY ("id")
);
CREATE TABLE "PullRequestComment" (
"id" TEXT NOT NULL,
"authorId" TEXT NOT NULL,
"pullRequestId" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"textMd" TEXT NOT NULL,
CONSTRAINT "PullRequestComment_pkey" PRIMARY KEY ("id")
);
ALTER TABLE "PullRequest" ADD CONSTRAINT "PullRequest_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "PullRequest" ADD CONSTRAINT "PullRequest_sourceRepositoryId_fkey" FOREIGN KEY ("sourceRepositoryId") REFERENCES "Repository"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "PullRequest" ADD CONSTRAINT "PullRequest_targetRepositoryId_fkey" FOREIGN KEY ("targetRepositoryId") REFERENCES "Repository"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "PullRequestComment" ADD CONSTRAINT "PullRequestComment_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE "PullRequestComment" ADD CONSTRAINT "PullRequestComment_pullRequestId_fkey" FOREIGN KEY ("pullRequestId") REFERENCES "PullRequest"("id") ON DELETE RESTRICT ON UPDATE CASCADE;