-- Watches + auto-watch preferences (issue #93). ALTER TABLE "users" ADD COLUMN "auto_watch_own_pages" BOOLEAN NOT NULL DEFAULT true; ALTER TABLE "users" ADD COLUMN "auto_watch_on_comment" BOOLEAN NOT NULL DEFAULT true; CREATE TYPE "WatchTargetType" AS ENUM ('PAGE', 'POND'); CREATE TABLE "watches" ( "id" TEXT NOT NULL, "user_id" TEXT NOT NULL, "target_type" "WatchTargetType" NOT NULL, "target_id" TEXT NOT NULL, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "watches_pkey" PRIMARY KEY ("id") ); CREATE UNIQUE INDEX "watches_user_id_target_type_target_id_key" ON "watches"("user_id", "target_type", "target_id"); CREATE INDEX "watches_target_type_target_id_idx" ON "watches"("target_type", "target_id"); ALTER TABLE "watches" ADD CONSTRAINT "watches_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;