-- Contact-form messages (issue #80). New table only — nothing to backfill. -- `author_id` is nullable with ON DELETE SET NULL so a report survives its -- sender's account deletion (same as ingredients.created_by_id). -- CreateTable CREATE TABLE "contact_message" ( "id" SERIAL NOT NULL, "author_id" INTEGER, "type" TEXT NOT NULL, "message" TEXT NOT NULL, "page_url" TEXT, "user_agent" TEXT, "app_version" TEXT, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "contact_message_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "contact_message_created_at_idx" ON "contact_message"("created_at"); -- AddForeignKey ALTER TABLE "contact_message" ADD CONSTRAINT "contact_message_author_id_fkey" FOREIGN KEY ("author_id") REFERENCES "user_profiles"("id") ON DELETE SET NULL ON UPDATE CASCADE;