User => Player
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- Added the required column `accuracy` to the `Geolocation` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `altitude` to the `Geolocation` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `altitudeAccuracy` to the `Geolocation` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `speed` to the `Geolocation` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "Geolocation" ADD COLUMN "accuracy" DOUBLE PRECISION NOT NULL,
|
||||
ADD COLUMN "altitude" DOUBLE PRECISION NOT NULL,
|
||||
ADD COLUMN "altitudeAccuracy" DOUBLE PRECISION NOT NULL,
|
||||
ADD COLUMN "speed" DOUBLE PRECISION NOT NULL;
|
@@ -1,5 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "ChallengeAction" ADD COLUMN "end" TIMESTAMP(3),
|
||||
ADD COLUMN "penaltyEnd" TIMESTAMP(3),
|
||||
ADD COLUMN "penaltyStart" TIMESTAMP(3),
|
||||
ADD COLUMN "start" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
@@ -1,12 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "ChallengeAction" ALTER COLUMN "end" SET DATA TYPE TIMESTAMPTZ(3),
|
||||
ALTER COLUMN "penaltyEnd" SET DATA TYPE TIMESTAMPTZ(3),
|
||||
ALTER COLUMN "penaltyStart" SET DATA TYPE TIMESTAMPTZ(3),
|
||||
ALTER COLUMN "start" SET DATA TYPE TIMESTAMPTZ(3);
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "Geolocation" ALTER COLUMN "timestamp" SET DATA TYPE TIMESTAMPTZ(3);
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "TrainTrip" ALTER COLUMN "departureTime" SET DATA TYPE TIMESTAMPTZ(3),
|
||||
ALTER COLUMN "arrivalTime" SET DATA TYPE TIMESTAMPTZ(3);
|
@@ -1,8 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `geometry` on the `TrainTrip` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "TrainTrip" DROP COLUMN "geometry";
|
@@ -1,13 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `after` on the `MoneyUpdate` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `before` on the `MoneyUpdate` table. All the data in the column will be lost.
|
||||
- Added the required column `amount` to the `MoneyUpdate` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "MoneyUpdate" DROP COLUMN "after",
|
||||
DROP COLUMN "before",
|
||||
ADD COLUMN "amount" INTEGER NOT NULL,
|
||||
ADD COLUMN "timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
@@ -2,23 +2,27 @@
|
||||
CREATE TYPE "MoneyUpdateType" AS ENUM ('START', 'WIN_CHALLENGE', 'BUY_TRAIN');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "User" (
|
||||
CREATE TABLE "Player" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"name" TEXT NOT NULL,
|
||||
"password" TEXT NOT NULL,
|
||||
"money" INTEGER NOT NULL DEFAULT 0,
|
||||
"currentRunner" BOOLEAN NOT NULL DEFAULT false,
|
||||
|
||||
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
||||
CONSTRAINT "Player_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Geolocation" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"userId" INTEGER NOT NULL,
|
||||
"playerId" INTEGER NOT NULL,
|
||||
"longitude" DOUBLE PRECISION NOT NULL,
|
||||
"latitude" DOUBLE PRECISION NOT NULL,
|
||||
"timestamp" TIMESTAMP(3) NOT NULL,
|
||||
"speed" DOUBLE PRECISION NOT NULL,
|
||||
"accuracy" DOUBLE PRECISION NOT NULL,
|
||||
"altitude" DOUBLE PRECISION NOT NULL,
|
||||
"altitudeAccuracy" DOUBLE PRECISION NOT NULL,
|
||||
"timestamp" TIMESTAMPTZ(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "Geolocation_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@@ -36,10 +40,14 @@ CREATE TABLE "Challenge" (
|
||||
-- CreateTable
|
||||
CREATE TABLE "ChallengeAction" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"userId" INTEGER NOT NULL,
|
||||
"playerId" INTEGER NOT NULL,
|
||||
"challengeId" INTEGER NOT NULL,
|
||||
"active" BOOLEAN NOT NULL DEFAULT false,
|
||||
"success" BOOLEAN NOT NULL DEFAULT false,
|
||||
"start" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"end" TIMESTAMPTZ(3),
|
||||
"penaltyStart" TIMESTAMPTZ(3),
|
||||
"penaltyEnd" TIMESTAMPTZ(3),
|
||||
|
||||
CONSTRAINT "ChallengeAction_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@@ -47,14 +55,13 @@ CREATE TABLE "ChallengeAction" (
|
||||
-- CreateTable
|
||||
CREATE TABLE "TrainTrip" (
|
||||
"id" TEXT NOT NULL,
|
||||
"userId" INTEGER NOT NULL,
|
||||
"playerId" INTEGER NOT NULL,
|
||||
"distance" DOUBLE PRECISION NOT NULL,
|
||||
"from" TEXT NOT NULL,
|
||||
"to" TEXT NOT NULL,
|
||||
"departureTime" TIMESTAMP(3) NOT NULL,
|
||||
"arrivalTime" TIMESTAMP(3) NOT NULL,
|
||||
"departureTime" TIMESTAMPTZ(3) NOT NULL,
|
||||
"arrivalTime" TIMESTAMPTZ(3) NOT NULL,
|
||||
"infoJson" JSONB NOT NULL,
|
||||
"geometry" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "TrainTrip_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@@ -62,18 +69,18 @@ CREATE TABLE "TrainTrip" (
|
||||
-- CreateTable
|
||||
CREATE TABLE "MoneyUpdate" (
|
||||
"id" SERIAL NOT NULL,
|
||||
"userId" INTEGER NOT NULL,
|
||||
"before" INTEGER NOT NULL,
|
||||
"after" INTEGER NOT NULL,
|
||||
"playerId" INTEGER NOT NULL,
|
||||
"amount" INTEGER NOT NULL,
|
||||
"reason" "MoneyUpdateType" NOT NULL,
|
||||
"actionId" INTEGER,
|
||||
"tripId" TEXT,
|
||||
"timestamp" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "MoneyUpdate_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "User_name_key" ON "User"("name");
|
||||
CREATE UNIQUE INDEX "Player_name_key" ON "Player"("name");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Challenge_title_key" ON "Challenge"("title");
|
||||
@@ -88,22 +95,22 @@ CREATE UNIQUE INDEX "MoneyUpdate_actionId_key" ON "MoneyUpdate"("actionId");
|
||||
CREATE UNIQUE INDEX "MoneyUpdate_tripId_key" ON "MoneyUpdate"("tripId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Geolocation" ADD CONSTRAINT "Geolocation_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "Geolocation" ADD CONSTRAINT "Geolocation_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "Player"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "ChallengeAction" ADD CONSTRAINT "ChallengeAction_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "Player"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "ChallengeAction" ADD CONSTRAINT "ChallengeAction_challengeId_fkey" FOREIGN KEY ("challengeId") REFERENCES "Challenge"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "ChallengeAction" ADD CONSTRAINT "ChallengeAction_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "TrainTrip" ADD CONSTRAINT "TrainTrip_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "Player"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "TrainTrip" ADD CONSTRAINT "TrainTrip_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "MoneyUpdate" ADD CONSTRAINT "MoneyUpdate_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "Player"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "MoneyUpdate" ADD CONSTRAINT "MoneyUpdate_actionId_fkey" FOREIGN KEY ("actionId") REFERENCES "ChallengeAction"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "MoneyUpdate" ADD CONSTRAINT "MoneyUpdate_tripId_fkey" FOREIGN KEY ("tripId") REFERENCES "TrainTrip"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "MoneyUpdate" ADD CONSTRAINT "MoneyUpdate_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
@@ -7,7 +7,7 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model User {
|
||||
model Player {
|
||||
id Int @id @default(autoincrement())
|
||||
name String @unique
|
||||
password String
|
||||
@@ -21,8 +21,8 @@ model User {
|
||||
|
||||
model Geolocation {
|
||||
id Int @id @default(autoincrement())
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
userId Int
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
playerId Int
|
||||
longitude Float
|
||||
latitude Float
|
||||
speed Float
|
||||
@@ -42,8 +42,8 @@ model Challenge {
|
||||
|
||||
model ChallengeAction {
|
||||
id Int @id @default(autoincrement())
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
userId Int
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
playerId Int
|
||||
challenge Challenge @relation(fields: [challengeId], references: [id])
|
||||
challengeId Int @unique
|
||||
active Boolean @default(false)
|
||||
@@ -57,8 +57,8 @@ model ChallengeAction {
|
||||
|
||||
model TrainTrip {
|
||||
id String @id
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
userId Int
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
playerId Int
|
||||
distance Float
|
||||
from String
|
||||
to String
|
||||
@@ -70,8 +70,8 @@ model TrainTrip {
|
||||
|
||||
model MoneyUpdate {
|
||||
id Int @id @default(autoincrement())
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
userId Int
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
playerId Int
|
||||
amount Int
|
||||
reason MoneyUpdateType
|
||||
action ChallengeAction? @relation(fields: [actionId], references: [id])
|
||||
|
@@ -5,14 +5,14 @@ const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
const emmyPassword = await bcrypt.hash("Emmy", 10)
|
||||
const emmy = await prisma.user.upsert({
|
||||
const emmy = await prisma.player.upsert({
|
||||
where: { id: 1 },
|
||||
update: { name: 'Emmy' },
|
||||
create: { name: 'Emmy', password: emmyPassword },
|
||||
})
|
||||
|
||||
const taminaPassword = await bcrypt.hash("Tamina", 10)
|
||||
const tamina = await prisma.user.upsert({
|
||||
const tamina = await prisma.player.upsert({
|
||||
where: { id: 2 },
|
||||
update: { name: 'Tamina' },
|
||||
create: { name: 'Tamina', password: taminaPassword },
|
||||
|
Reference in New Issue
Block a user