31 lines
1.7 KiB
SQL
31 lines
1.7 KiB
SQL
-- Rename player fields in matches table
|
|
-- First, add new columns as nullable
|
|
ALTER TABLE "matches" ADD COLUMN "player1P1Id" INTEGER;
|
|
ALTER TABLE "matches" ADD COLUMN "player1P2Id" INTEGER;
|
|
ALTER TABLE "matches" ADD COLUMN "player2P1Id" INTEGER;
|
|
ALTER TABLE "matches" ADD COLUMN "player2P2Id" INTEGER;
|
|
|
|
-- Copy data from old columns to new columns
|
|
UPDATE "matches" SET "player1P1Id" = "team1P1Id";
|
|
UPDATE "matches" SET "player1P2Id" = "team1P2Id";
|
|
UPDATE "matches" SET "player2P1Id" = "team2P1Id";
|
|
UPDATE "matches" SET "player2P2Id" = "team2P2Id";
|
|
|
|
-- Drop old foreign key constraints
|
|
ALTER TABLE "matches" DROP CONSTRAINT "matches_team1P1Id_fkey";
|
|
ALTER TABLE "matches" DROP CONSTRAINT "matches_team1P2Id_fkey";
|
|
ALTER TABLE "matches" DROP CONSTRAINT "matches_team2P1Id_fkey";
|
|
ALTER TABLE "matches" DROP CONSTRAINT "matches_team2P2Id_fkey";
|
|
|
|
-- Drop old columns
|
|
ALTER TABLE "matches" DROP COLUMN "team1P1Id";
|
|
ALTER TABLE "matches" DROP COLUMN "team1P2Id";
|
|
ALTER TABLE "matches" DROP COLUMN "team2P1Id";
|
|
ALTER TABLE "matches" DROP COLUMN "team2P2Id";
|
|
|
|
-- Add foreign key constraints for new columns
|
|
ALTER TABLE "matches" ADD CONSTRAINT "matches_player1P1Id_fkey" FOREIGN KEY ("player1P1Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
ALTER TABLE "matches" ADD CONSTRAINT "matches_player1P2Id_fkey" FOREIGN KEY ("player1P2Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
ALTER TABLE "matches" ADD CONSTRAINT "matches_player2P1Id_fkey" FOREIGN KEY ("player2P1Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
ALTER TABLE "matches" ADD CONSTRAINT "matches_player2P2Id_fkey" FOREIGN KEY ("player2P2Id") REFERENCES "players"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|