mirror of
https://github.com/massbug/judge4c.git
synced 2025-07-03 23:30:50 +00:00
Add a trim key to mark whether the answer should be trimmed. Add a judgement to determine whether the trim should work.
157 lines
6.8 KiB
SQL
157 lines
6.8 KiB
SQL
/*
|
|
Warnings:
|
|
|
|
- You are about to drop the column `description` on the `Problem` table. All the data in the column will be lost.
|
|
- You are about to drop the column `published` on the `Problem` table. All the data in the column will be lost.
|
|
- You are about to drop the column `solution` on the `Problem` table. All the data in the column will be lost.
|
|
- You are about to drop the column `title` on the `Problem` table. All the data in the column will be lost.
|
|
- You are about to drop the column `code` on the `Submission` table. All the data in the column will be lost.
|
|
- You are about to drop the column `executionTime` on the `Submission` table. All the data in the column will be lost.
|
|
- The primary key for the `Template` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
|
- You are about to drop the column `template` on the `Template` table. All the data in the column will be lost.
|
|
- You are about to drop the column `executionTime` on the `TestcaseResult` table. All the data in the column will be lost.
|
|
- You are about to drop the `EditorLanguageConfig` table. If the table is not empty, all the data it contains will be lost.
|
|
- You are about to drop the `TestcaseData` table. If the table is not empty, all the data it contains will be lost.
|
|
- Changed the type of `language` on the `DockerConfig` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
|
- Changed the type of `language` on the `LanguageServerConfig` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
|
- Changed the type of `protocol` on the `LanguageServerConfig` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
|
- Added the required column `updatedAt` to the `Problem` table without a default value. This is not possible if the table is not empty.
|
|
- Added the required column `content` to the `Submission` table without a default value. This is not possible if the table is not empty.
|
|
- Changed the type of `language` on the `Submission` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
|
- Added the required column `content` to the `Template` table without a default value. This is not possible if the table is not empty.
|
|
- Changed the type of `language` on the `Template` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
|
- Added the required column `updatedAt` to the `Testcase` table without a default value. This is not possible if the table is not empty.
|
|
- Made the column `email` on table `User` required. This step will fail if there are existing NULL values in that column.
|
|
|
|
*/
|
|
-- CreateEnum
|
|
CREATE TYPE "Locale" AS ENUM ('en', 'zh');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "Language" AS ENUM ('c', 'cpp');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "Protocol" AS ENUM ('ws', 'wss');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "ProblemContentType" AS ENUM ('TITLE', 'DESCRIPTION', 'SOLUTION');
|
|
|
|
-- DropForeignKey
|
|
ALTER TABLE "DockerConfig" DROP CONSTRAINT "DockerConfig_language_fkey";
|
|
|
|
-- DropForeignKey
|
|
ALTER TABLE "LanguageServerConfig" DROP CONSTRAINT "LanguageServerConfig_language_fkey";
|
|
|
|
-- DropForeignKey
|
|
ALTER TABLE "Problem" DROP CONSTRAINT "Problem_userId_fkey";
|
|
|
|
-- DropForeignKey
|
|
ALTER TABLE "TestcaseData" DROP CONSTRAINT "TestcaseData_testcaseId_fkey";
|
|
|
|
-- DropIndex
|
|
DROP INDEX "DockerConfig_language_key";
|
|
|
|
-- DropIndex
|
|
DROP INDEX "LanguageServerConfig_language_key";
|
|
|
|
-- DropIndex
|
|
DROP INDEX "Problem_difficulty_idx";
|
|
|
|
-- DropIndex
|
|
DROP INDEX "Problem_userId_idx";
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "DockerConfig" ALTER COLUMN "compileOutputLimit" SET DEFAULT 1048576,
|
|
ALTER COLUMN "runOutputLimit" SET DEFAULT 1048576,
|
|
DROP COLUMN "language",
|
|
ADD COLUMN "language" "Language" NOT NULL,
|
|
ADD CONSTRAINT "DockerConfig_pkey" PRIMARY KEY ("language");
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "LanguageServerConfig" DROP COLUMN "language",
|
|
ADD COLUMN "language" "Language" NOT NULL,
|
|
DROP COLUMN "protocol",
|
|
ADD COLUMN "protocol" "Protocol" NOT NULL,
|
|
ADD CONSTRAINT "LanguageServerConfig_pkey" PRIMARY KEY ("language");
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "Problem" DROP COLUMN "description",
|
|
DROP COLUMN "published",
|
|
DROP COLUMN "solution",
|
|
DROP COLUMN "title",
|
|
ADD COLUMN "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
ADD COLUMN "isPublished" BOOLEAN NOT NULL DEFAULT false,
|
|
ADD COLUMN "updatedAt" TIMESTAMP(3) NOT NULL,
|
|
ALTER COLUMN "memoryLimit" SET DEFAULT 134217728,
|
|
ALTER COLUMN "userId" DROP NOT NULL;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "Submission" DROP COLUMN "code",
|
|
DROP COLUMN "executionTime",
|
|
ADD COLUMN "content" TEXT NOT NULL,
|
|
ADD COLUMN "timeUsage" INTEGER,
|
|
DROP COLUMN "language",
|
|
ADD COLUMN "language" "Language" NOT NULL;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "Template" DROP CONSTRAINT "Template_pkey",
|
|
DROP COLUMN "template",
|
|
ADD COLUMN "content" TEXT NOT NULL,
|
|
DROP COLUMN "language",
|
|
ADD COLUMN "language" "Language" NOT NULL,
|
|
ADD CONSTRAINT "Template_pkey" PRIMARY KEY ("problemId", "language");
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "Testcase" ADD COLUMN "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
ADD COLUMN "updatedAt" TIMESTAMP(3) NOT NULL;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "TestcaseResult" DROP COLUMN "executionTime",
|
|
ADD COLUMN "timeUsage" INTEGER,
|
|
ALTER COLUMN "output" DROP NOT NULL;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "User" ALTER COLUMN "email" SET NOT NULL;
|
|
|
|
-- DropTable
|
|
DROP TABLE "EditorLanguageConfig";
|
|
|
|
-- DropTable
|
|
DROP TABLE "TestcaseData";
|
|
|
|
-- DropEnum
|
|
DROP TYPE "EditorLanguage";
|
|
|
|
-- DropEnum
|
|
DROP TYPE "LanguageServerProtocol";
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "ProblemLocalization" (
|
|
"problemId" TEXT NOT NULL,
|
|
"locale" "Locale" NOT NULL,
|
|
"type" "ProblemContentType" NOT NULL,
|
|
"content" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "ProblemLocalization_pkey" PRIMARY KEY ("problemId","locale","type")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "TestcaseInput" (
|
|
"id" TEXT NOT NULL,
|
|
"index" INTEGER NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"value" TEXT NOT NULL,
|
|
"testcaseId" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "TestcaseInput_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Problem" ADD CONSTRAINT "Problem_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "ProblemLocalization" ADD CONSTRAINT "ProblemLocalization_problemId_fkey" FOREIGN KEY ("problemId") REFERENCES "Problem"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "TestcaseInput" ADD CONSTRAINT "TestcaseInput_testcaseId_fkey" FOREIGN KEY ("testcaseId") REFERENCES "Testcase"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|