Therefore a query like the following is generated:
SELECT `cp`.`page_id` FROM `cms_page` AS `cp`
INNER JOIN `cms_page_store` AS `cps` ON cp.row_id = cps.row_id WHERE ((cp.identifier = 'my-test-page') AND (cps.store_id IN (0, 0)) AND (cp.is_active = 1)) AND (cp.created_in <= 1) AND (cp.updated_in > 1) ORDER BY `cps`.`store_id` DESC
LIMIT 1
with is_active = 1 the page is not found, and configurator therefore tries to create it instead of update it.
If a cms page is defined as follows:
then re-running the configurator to update the content will fail with:
The reason is here: https://github.com/ctidigital/magento2-configurator/blob/develop/Component/Pages.php#L101
This calls checkIdentifier: https://github.com/magento/magento2/blob/2.3-develop/app/code/Magento/Cms/Model/ResourceModel/Page.php#L276 - which hardcodes a value of
1
forisActive
.Therefore a query like the following is generated:
with is_active = 1 the page is not found, and configurator therefore tries to create it instead of update it.