-- CreateEnum CREATE TYPE "OneDayReferralType" AS ENUM ('REFERRAL', 'POST', 'COMMENT', 'PROFILE', 'TERRITORY'); -- CreateTable CREATE TABLE "OneDayReferral" ( "id" SERIAL NOT NULL, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "referrerId" INTEGER NOT NULL, "refereeId" INTEGER NOT NULL, "type" "OneDayReferralType" NOT NULL, "typeId" TEXT NOT NULL, CONSTRAINT "OneDayReferral_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "OneDayReferral_created_at_idx" ON "OneDayReferral"("created_at"); -- CreateIndex CREATE INDEX "OneDayReferral_referrerId_idx" ON "OneDayReferral"("referrerId"); -- CreateIndex CREATE INDEX "OneDayReferral_refereeId_idx" ON "OneDayReferral"("refereeId"); -- CreateIndex CREATE INDEX "OneDayReferral_type_typeId_idx" ON "OneDayReferral"("type", "typeId"); -- AddForeignKey ALTER TABLE "OneDayReferral" ADD CONSTRAINT "OneDayReferral_referrerId_fkey" FOREIGN KEY ("referrerId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "OneDayReferral" ADD CONSTRAINT "OneDayReferral_refereeId_fkey" FOREIGN KEY ("refereeId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;