feat: add database migration for rating system tables
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "elo_ratings" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"playerId" INTEGER NOT NULL,
|
||||
"rating" INTEGER NOT NULL DEFAULT 1000,
|
||||
"volatility" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||
"gamesPlayed" INTEGER NOT NULL DEFAULT 0,
|
||||
"wins" INTEGER NOT NULL DEFAULT 0,
|
||||
"losses" INTEGER NOT NULL DEFAULT 0,
|
||||
"draws" INTEGER NOT NULL DEFAULT 0,
|
||||
"lastUpdated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "elo_ratings_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "glicko2_ratings" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"playerId" INTEGER NOT NULL,
|
||||
"rating" DOUBLE PRECISION NOT NULL DEFAULT 1500.0,
|
||||
"deviation" DOUBLE PRECISION NOT NULL DEFAULT 350.0,
|
||||
"volatility" DOUBLE PRECISION NOT NULL DEFAULT 0.05,
|
||||
"gamesPlayed" INTEGER NOT NULL DEFAULT 0,
|
||||
"wins" INTEGER NOT NULL DEFAULT 0,
|
||||
"losses" INTEGER NOT NULL DEFAULT 0,
|
||||
"draws" INTEGER NOT NULL DEFAULT 0,
|
||||
"lastUpdated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "glicko2_ratings_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "open_skill_ratings" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"playerId" INTEGER NOT NULL,
|
||||
"rating" DOUBLE PRECISION NOT NULL DEFAULT 25.0,
|
||||
"deviation" DOUBLE PRECISION NOT NULL DEFAULT 8.33,
|
||||
"gamesPlayed" INTEGER NOT NULL DEFAULT 0,
|
||||
"wins" INTEGER NOT NULL DEFAULT 0,
|
||||
"losses" INTEGER NOT NULL DEFAULT 0,
|
||||
"draws" INTEGER NOT NULL DEFAULT 0,
|
||||
"lastUpdated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "open_skill_ratings_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "elo_ratings_playerId_key" ON "elo_ratings"("playerId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "glicko2_ratings_playerId_key" ON "glicko2_ratings"("playerId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "open_skill_ratings_playerId_key" ON "open_skill_ratings"("playerId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "elo_ratings" ADD CONSTRAINT "elo_ratings_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "players"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "glicko2_ratings" ADD CONSTRAINT "glicko2_ratings_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "players"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "open_skill_ratings" ADD CONSTRAINT "open_skill_ratings_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "players"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
Reference in New Issue
Block a user