AD0-E724 · Question #26
A developer needs to run a data patch a second time to apply additional changes. By default, Adobe Commerce records successfully executed patches in the 'patch_list' database table and will not run th
The correct answer is B. Manually delete the corresponding row for the patch from the 'patch_list' table.. Deleting the patch's row from patch_list is correct because Adobe Commerce's patch mechanism simply checks that table before execution - if no record exists for a patch's class name, setup:upgrade treats it as unexecuted and runs it fresh. Why the distractors fail: A is a nuclear
Question
A developer needs to run a data patch a second time to apply additional changes. By default, Adobe Commerce records successfully executed patches in the 'patch_list' database table and will not run them again. What is the correct and direct way to force the re-execution of this specific data patch during the next 'bin/magento setup:upgrade' run?
Options
- AUninstall and then reinstall the entire module the patch belongs to.
- BManually delete the corresponding row for the patch from the 'patch_list' table.
- CModify the data patch's class name so it is treated as a new patch.
- DAdd a 'revert()' method to the data patch and run a rollback command.
How the community answered
(22 responses)- A5% (1)
- B77% (17)
- C14% (3)
- D5% (1)
Explanation
Deleting the patch's row from patch_list is correct because Adobe Commerce's patch mechanism simply checks that table before execution - if no record exists for a patch's class name, setup:upgrade treats it as unexecuted and runs it fresh.
Why the distractors fail:
- A is a nuclear option that reinstalls the whole module, affecting unrelated patches and configuration - far too destructive for a targeted re-run.
- C works technically, but it's a hack that pollutes the codebase with a renamed class and leaves the original row orphaned in
patch_list. - D is plausible-sounding but wrong:
revert()is optional and used for module uninstallation rollback, not for re-running a patch; no standard "re-run" rollback command exists for data patches.
Memory tip: Think of patch_list as a "done" checklist - the simplest way to make something "not done" is to erase its checkmark. One row deleted = one patch re-queued.
Topics
Community Discussion
No community discussion yet for this question.