ALTER TABLE "portal_announcements" ADD COLUMN "category" TEXT NOT NULL DEFAULT 'general', ADD COLUMN "requires_acknowledgement" BOOLEAN NOT NULL DEFAULT false, ADD COLUMN "acknowledgement_statement" TEXT, ADD COLUMN "acknowledgement_due_at" TIMESTAMP(3); CREATE TABLE "portal_announcement_acknowledgements" ( "id" UUID NOT NULL, "announcement_id" UUID NOT NULL, "employee_id" UUID NOT NULL, "acknowledged_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "statement_snapshot" TEXT NOT NULL, "title_snapshot" TEXT NOT NULL, "summary_snapshot" TEXT NOT NULL, "actor_id" UUID NOT NULL, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "portal_announcement_acknowledgements_pkey" PRIMARY KEY ("id") ); CREATE UNIQUE INDEX "portal_announcement_acknowledgements_announcement_id_employee_id_key" ON "portal_announcement_acknowledgements"("announcement_id", "employee_id"); CREATE INDEX "portal_announcement_acknowledgements_employee_id_acknowledged_at_idx" ON "portal_announcement_acknowledgements"("employee_id", "acknowledged_at"); CREATE INDEX "portal_announcement_acknowledgements_announcement_id_acknowledged_at_idx" ON "portal_announcement_acknowledgements"("announcement_id", "acknowledged_at"); ALTER TABLE "portal_announcement_acknowledgements" ADD CONSTRAINT "portal_announcement_acknowledgements_announcement_id_fkey" FOREIGN KEY ("announcement_id") REFERENCES "portal_announcements"("id") ON DELETE CASCADE ON UPDATE CASCADE; ALTER TABLE "portal_announcement_acknowledgements" ADD CONSTRAINT "portal_announcement_acknowledgements_employee_id_fkey" FOREIGN KEY ("employee_id") REFERENCES "employees"("id") ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE "portal_announcement_acknowledgements" ADD CONSTRAINT "portal_announcement_acknowledgements_actor_id_fkey" FOREIGN KEY ("actor_id") REFERENCES "employees"("id") ON DELETE RESTRICT ON UPDATE CASCADE;