From 7ecfde56b5d78354a77c5e400ca607d448c788ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pablo=20de=20la=20Pen=CC=83a?=
Date: Fri, 30 Oct 2026 15:18:33 +0000
Subject: [PATCH] fix: Tighten CMS find-replace exclusions
- Remove cms_menu_item.url from readOnly() so menu URLs can be
updated when moving a domain or path.
- Add cms_page.draft_breadcrumbs and cms_page.published_breadcrumbs
to readOnly(); both are generated from parent page titles, so a
direct edit is overwritten or goes stale.
Co-Authored-By: Claude Sonnet 5
---
src/FindReplace/Exclusion/Package.php | 4 +++-
tests/FindReplace/Exclusion/PackageTest.php | 3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/FindReplace/Exclusion/Package.php b/src/FindReplace/Exclusion/Package.php
index 01570ef..a7f1ff6 100644
--- a/src/FindReplace/Exclusion/Package.php
+++ b/src/FindReplace/Exclusion/Package.php
@@ -25,7 +25,9 @@ public function readOnly(): array
NAILS_DB_PREFIX . 'cms_page.published_slug_end',
NAILS_DB_PREFIX . 'cms_page.draft_template',
NAILS_DB_PREFIX . 'cms_page.published_template',
- NAILS_DB_PREFIX . 'cms_menu_item.url',
+ // Built from parent page titles; a direct edit is overwritten or goes stale.
+ NAILS_DB_PREFIX . 'cms_page.draft_breadcrumbs',
+ NAILS_DB_PREFIX . 'cms_page.published_breadcrumbs',
];
}
}
diff --git a/tests/FindReplace/Exclusion/PackageTest.php b/tests/FindReplace/Exclusion/PackageTest.php
index 4255e0e..bce3513 100644
--- a/tests/FindReplace/Exclusion/PackageTest.php
+++ b/tests/FindReplace/Exclusion/PackageTest.php
@@ -37,7 +37,8 @@ public function testReadOnly(): void
NAILS_DB_PREFIX . 'cms_page.published_slug_end',
NAILS_DB_PREFIX . 'cms_page.draft_template',
NAILS_DB_PREFIX . 'cms_page.published_template',
- NAILS_DB_PREFIX . 'cms_menu_item.url',
+ NAILS_DB_PREFIX . 'cms_page.draft_breadcrumbs',
+ NAILS_DB_PREFIX . 'cms_page.published_breadcrumbs',
],
(new Package())->readOnly()
);