CREATE TABLE "BoostedOddCategory" (
  "id" UUID NOT NULL,
  "name" TEXT NOT NULL,
  "slug" TEXT NOT NULL,
  "status" "BoostedOddStatus" NOT NULL DEFAULT 'ACTIVE',
  "sortOrder" INTEGER NOT NULL DEFAULT 100,
  "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
  "updatedAt" TIMESTAMP(3) NOT NULL,

  CONSTRAINT "BoostedOddCategory_pkey" PRIMARY KEY ("id")
);

CREATE UNIQUE INDEX "BoostedOddCategory_slug_key" ON "BoostedOddCategory"("slug");
CREATE INDEX "BoostedOddCategory_status_sortOrder_idx" ON "BoostedOddCategory"("status", "sortOrder");

INSERT INTO "BoostedOddCategory" ("id", "name", "slug", "status", "sortOrder", "createdAt", "updatedAt")
VALUES (
  '77777777-7777-4777-8777-777777777701',
  'World Cup Boosts!',
  'world-cup-boosts',
  'ACTIVE',
  10,
  CURRENT_TIMESTAMP,
  CURRENT_TIMESTAMP
)
ON CONFLICT ("slug") DO NOTHING;

ALTER TABLE "BoostedOdd" ADD COLUMN "categoryId" UUID;

UPDATE "BoostedOdd"
SET "categoryId" = '77777777-7777-4777-8777-777777777701'
WHERE "categoryId" IS NULL;

ALTER TABLE "BoostedOdd" ALTER COLUMN "categoryId" SET NOT NULL;

CREATE INDEX "BoostedOdd_categoryId_sortOrder_idx" ON "BoostedOdd"("categoryId", "sortOrder");

ALTER TABLE "BoostedOdd"
  ADD CONSTRAINT "BoostedOdd_categoryId_fkey"
  FOREIGN KEY ("categoryId") REFERENCES "BoostedOddCategory"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
