nerdexam
Adobe

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

Administering

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)
  • A
    5% (1)
  • B
    77% (17)
  • C
    14% (3)
  • D
    5% (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

#data patch#patch_list table#setup upgrade#patch re-execution

Community Discussion

No community discussion yet for this question.

Full AD0-E724 Practice