-- CreateTable (additive — table may already exist from db push) CREATE TABLE IF NOT EXISTS "NoteLink" ( "id" TEXT NOT NULL, "sourceNoteId" TEXT NOT NULL, "targetNoteId" TEXT NOT NULL, "contextSnippet" TEXT, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "NoteLink_pkey" PRIMARY KEY ("id") ); CREATE UNIQUE INDEX IF NOT EXISTS "NoteLink_sourceNoteId_targetNoteId_key" ON "NoteLink"("sourceNoteId", "targetNoteId"); CREATE INDEX IF NOT EXISTS "NoteLink_sourceNoteId_idx" ON "NoteLink"("sourceNoteId"); CREATE INDEX IF NOT EXISTS "NoteLink_targetNoteId_idx" ON "NoteLink"("targetNoteId"); DO $$ BEGIN ALTER TABLE "NoteLink" ADD CONSTRAINT "NoteLink_sourceNoteId_fkey" FOREIGN KEY ("sourceNoteId") REFERENCES "Note"("id") ON DELETE CASCADE ON UPDATE CASCADE; EXCEPTION WHEN duplicate_object THEN null; END $$; DO $$ BEGIN ALTER TABLE "NoteLink" ADD CONSTRAINT "NoteLink_targetNoteId_fkey" FOREIGN KEY ("targetNoteId") REFERENCES "Note"("id") ON DELETE CASCADE ON UPDATE CASCADE; EXCEPTION WHEN duplicate_object THEN null; END $$;