diff --git a/prisma/migrations/20260331034214_init_postgres/migration.sql b/prisma/migrations/20260331034214_init_postgres/migration.sql deleted file mode 100644 index 8eec038..0000000 --- a/prisma/migrations/20260331034214_init_postgres/migration.sql +++ /dev/null @@ -1,325 +0,0 @@ --- CreateTable -CREATE TABLE "players" ( - "id" SERIAL NOT NULL, - "name" TEXT NOT NULL, - "rating" INTEGER NOT NULL DEFAULT 0, - "currentElo" INTEGER NOT NULL DEFAULT 1000, - "gamesPlayed" INTEGER NOT NULL DEFAULT 0, - "wins" INTEGER NOT NULL DEFAULT 0, - "losses" INTEGER NOT NULL DEFAULT 0, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "players_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "users" ( - "id" TEXT NOT NULL, - "email" TEXT NOT NULL, - "emailVerified" BOOLEAN NOT NULL DEFAULT false, - "name" TEXT, - "image" TEXT, - "role" TEXT NOT NULL DEFAULT 'player', - "playerId" INTEGER, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "users_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "events" ( - "id" SERIAL NOT NULL, - "event_id" INTEGER, - "name" TEXT NOT NULL, - "description" TEXT, - "eventDate" TIMESTAMP(3), - "eventType" TEXT NOT NULL DEFAULT 'tournament', - "format" TEXT NOT NULL DEFAULT 'round_robin', - "status" TEXT NOT NULL DEFAULT 'planned', - "maxParticipants" INTEGER, - "ownerId" TEXT, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "events_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "event_participants" ( - "id" SERIAL NOT NULL, - "eventId" INTEGER NOT NULL, - "playerId" INTEGER NOT NULL, - "teamId" INTEGER, - "seed" INTEGER, - "status" TEXT NOT NULL DEFAULT 'registered', - "registrationDate" TIMESTAMP(3), - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "event_participants_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "teams" ( - "id" SERIAL NOT NULL, - "eventId" INTEGER NOT NULL, - "teamName" TEXT, - "player1Id" INTEGER NOT NULL, - "player2Id" INTEGER NOT NULL, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "teams_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "tournament_rounds" ( - "id" SERIAL NOT NULL, - "eventId" INTEGER NOT NULL, - "roundNumber" INTEGER NOT NULL, - "status" TEXT NOT NULL DEFAULT 'pending', - "scheduledStart" TIMESTAMP(3), - "actualStart" TIMESTAMP(3), - "completedAt" TIMESTAMP(3), - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "tournament_rounds_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "bracket_matchups" ( - "id" SERIAL NOT NULL, - "roundId" INTEGER NOT NULL, - "eventId" INTEGER NOT NULL, - "team1Id" INTEGER, - "team2Id" INTEGER, - "matchId" INTEGER, - "tableNumber" INTEGER, - "bracketPosition" INTEGER, - "winnerTeamId" INTEGER, - "loserTeamId" INTEGER, - "status" TEXT NOT NULL DEFAULT 'pending', - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "bracket_matchups_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "matches" ( - "id" SERIAL NOT NULL, - "eventId" INTEGER, - "playedAt" TIMESTAMP(3), - "team1P1Id" INTEGER NOT NULL, - "team1P2Id" INTEGER NOT NULL, - "team2P1Id" INTEGER NOT NULL, - "team2P2Id" INTEGER NOT NULL, - "team1Score" INTEGER NOT NULL, - "team2Score" INTEGER NOT NULL, - "status" TEXT NOT NULL DEFAULT 'completed', - "createdById" TEXT, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "matches_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "elo_snapshots" ( - "id" SERIAL NOT NULL, - "playerId" INTEGER NOT NULL, - "matchId" INTEGER NOT NULL, - "ratingBefore" INTEGER NOT NULL, - "ratingAfter" INTEGER NOT NULL, - "ratingChange" INTEGER NOT NULL, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - - CONSTRAINT "elo_snapshots_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "partnership_games" ( - "id" SERIAL NOT NULL, - "player1Id" INTEGER NOT NULL, - "player2Id" INTEGER NOT NULL, - "matchId" INTEGER NOT NULL, - "teamNumber" INTEGER, - "wonMatch" INTEGER, - "player1EloChange" INTEGER, - "player2EloChange" INTEGER, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - - CONSTRAINT "partnership_games_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "partnership_stats" ( - "id" SERIAL NOT NULL, - "player1Id" INTEGER NOT NULL, - "player2Id" INTEGER NOT NULL, - "gamesPlayed" INTEGER NOT NULL DEFAULT 0, - "wins" INTEGER NOT NULL DEFAULT 0, - "losses" INTEGER NOT NULL DEFAULT 0, - "totalEloChange" INTEGER NOT NULL DEFAULT 0, - "lastPlayed" TIMESTAMP(3), - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "partnership_stats_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "session" ( - "id" TEXT NOT NULL, - "expiresAt" TIMESTAMP(3) NOT NULL, - "token" TEXT NOT NULL, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - "ipAddress" TEXT, - "userAgent" TEXT, - "userId" TEXT NOT NULL, - - CONSTRAINT "session_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "account" ( - "id" TEXT NOT NULL, - "accountId" TEXT NOT NULL, - "providerId" TEXT NOT NULL, - "userId" TEXT NOT NULL, - "accessToken" TEXT, - "refreshToken" TEXT, - "idToken" TEXT, - "accessTokenExpiresAt" TIMESTAMP(3), - "refreshTokenExpiresAt" TIMESTAMP(3), - "scope" TEXT, - "password" TEXT, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "account_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "verification" ( - "id" TEXT NOT NULL, - "identifier" TEXT NOT NULL, - "value" TEXT NOT NULL, - "expiresAt" TIMESTAMP(3) NOT NULL, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL, - - CONSTRAINT "verification_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE UNIQUE INDEX "users_email_key" ON "users"("email"); - --- CreateIndex -CREATE UNIQUE INDEX "users_playerId_key" ON "users"("playerId"); - --- CreateIndex -CREATE UNIQUE INDEX "event_participants_eventId_playerId_key" ON "event_participants"("eventId", "playerId"); - --- CreateIndex -CREATE INDEX "session_userId_idx" ON "session"("userId"); - --- CreateIndex -CREATE UNIQUE INDEX "session_token_key" ON "session"("token"); - --- CreateIndex -CREATE INDEX "account_userId_idx" ON "account"("userId"); - --- CreateIndex -CREATE INDEX "verification_identifier_idx" ON "verification"("identifier"); - --- AddForeignKey -ALTER TABLE "users" ADD CONSTRAINT "users_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "players"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "events" ADD CONSTRAINT "events_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "event_participants" ADD CONSTRAINT "event_participants_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "teams"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "event_participants" ADD CONSTRAINT "event_participants_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "event_participants" ADD CONSTRAINT "event_participants_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "events"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "teams" ADD CONSTRAINT "teams_player2Id_fkey" FOREIGN KEY ("player2Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "teams" ADD CONSTRAINT "teams_player1Id_fkey" FOREIGN KEY ("player1Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "teams" ADD CONSTRAINT "teams_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "events"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "tournament_rounds" ADD CONSTRAINT "tournament_rounds_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "events"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "bracket_matchups" ADD CONSTRAINT "bracket_matchups_matchId_fkey" FOREIGN KEY ("matchId") REFERENCES "matches"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "bracket_matchups" ADD CONSTRAINT "bracket_matchups_team2Id_fkey" FOREIGN KEY ("team2Id") REFERENCES "teams"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "bracket_matchups" ADD CONSTRAINT "bracket_matchups_team1Id_fkey" FOREIGN KEY ("team1Id") REFERENCES "teams"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "bracket_matchups" ADD CONSTRAINT "bracket_matchups_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "events"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "bracket_matchups" ADD CONSTRAINT "bracket_matchups_roundId_fkey" FOREIGN KEY ("roundId") REFERENCES "tournament_rounds"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "matches" ADD CONSTRAINT "matches_team2P2Id_fkey" FOREIGN KEY ("team2P2Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "matches" ADD CONSTRAINT "matches_team2P1Id_fkey" FOREIGN KEY ("team2P1Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "matches" ADD CONSTRAINT "matches_team1P2Id_fkey" FOREIGN KEY ("team1P2Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "matches" ADD CONSTRAINT "matches_team1P1Id_fkey" FOREIGN KEY ("team1P1Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "matches" ADD CONSTRAINT "matches_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "events"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "matches" ADD CONSTRAINT "matches_createdById_fkey" FOREIGN KEY ("createdById") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "elo_snapshots" ADD CONSTRAINT "elo_snapshots_matchId_fkey" FOREIGN KEY ("matchId") REFERENCES "matches"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "elo_snapshots" ADD CONSTRAINT "elo_snapshots_playerId_fkey" FOREIGN KEY ("playerId") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "partnership_games" ADD CONSTRAINT "partnership_games_matchId_fkey" FOREIGN KEY ("matchId") REFERENCES "matches"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "partnership_games" ADD CONSTRAINT "partnership_games_player2Id_fkey" FOREIGN KEY ("player2Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "partnership_games" ADD CONSTRAINT "partnership_games_player1Id_fkey" FOREIGN KEY ("player1Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "partnership_stats" ADD CONSTRAINT "partnership_stats_player2Id_fkey" FOREIGN KEY ("player2Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "partnership_stats" ADD CONSTRAINT "partnership_stats_player1Id_fkey" FOREIGN KEY ("player1Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "session" ADD CONSTRAINT "session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "account" ADD CONSTRAINT "account_userId_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/migrations/20260331040000_add_normalized_name_to_player/migration.sql b/prisma/migrations/20260331040000_add_normalized_name_to_player/migration.sql deleted file mode 100644 index 59391e1..0000000 --- a/prisma/migrations/20260331040000_add_normalized_name_to_player/migration.sql +++ /dev/null @@ -1,9 +0,0 @@ --- Add normalizedName column as nullable first -ALTER TABLE "players" ADD COLUMN "normalizedName" TEXT; - --- Populate normalizedName for existing records (trim, lowercase) -UPDATE "players" SET "normalizedName" = LOWER(TRIM("name")); - --- Now make it required and add unique constraint -ALTER TABLE "players" ALTER COLUMN "normalizedName" SET NOT NULL; -ALTER TABLE "players" ADD CONSTRAINT "players_normalizedName_key" UNIQUE ("normalizedName");