This article shows two solutions to roll back an environment without having a snapshot of your environment on Adobe Commerce on cloud infrastructure.
Choose the most appropriate for your case:
This section shows how to roll back an environment when you have not created a snapshot but can access the environment via SSH.
The steps are:
After performing these steps:
Read the detailed steps below:
We need to disable Configuration Management so that it does not automatically apply the previous configuration settings during deployment.
To disable Configuration Management, make sure that your
/app/etc/ directory does not contain the
config.php (for Adobe Commerce 2.2.x) or
config.local.php (for Adobe Commerce 2.1.x) files.
To remove the configuration file, follow these steps:
Remove the configuration file:
Learn more about Configuration Management by reviewing:
Uninstalling the Adobe Commerce software drops and restores the database, removes the deployment configuration, and clears directories under
Review Uninstall the Adobe Commerce software in our developer documentation.
To uninstall the Adobe Commerce software, follow these steps:
php bin/magento setup:uninstall
The following message displays to confirm a successful uninstallation:
[SUCCESS]: Magento uninstallation complete.
This means we have reverted our Adobe Commerce installation (including DB) to its authentic (Vanilla) state.
With git reset, we revert the code to the desired state in the past.
Clone the environment to your local development environment. You may copy the command in your Project Web Interface:
Access the commits history. Use
--reverse to display history in reverse order for more convenience:
git log --reverse
Select the commit hash on which you’ve been good. To reset code to its authentic state (Vanilla), find the very first commit that created your branch (environment).
Apply hard git reset:
git reset --h <commit_hash>
Push changes to server:
git push --force <origin> <branch>
After performing these steps, our git branch gets reset and the entire git changelog is clear. The last git push triggers the redeploy to apply all changes and re-install Adobe Commerce.
This section shows how to roll back an environment when it is in a critical state: the deployment procedure cannot succeed in building a working application, thus making the SSH connection unavailable.
In this scenario, you must first restore the working state of your Adobe Commerce application using git reset, then uninstall the Adobe Commerce software (to drop and restore the database, remove the deployment configuration, etc.). The scenario involves the same steps as in Scenario 1, but the order of steps is different and there is an additional step – force redeploy. The steps are:
4. Force redeploy.
After performing these steps, you will have the same results as in Scenario 1.
Make a commit (this might be an empty commit, although we do not recommend it) and push it to the server to trigger redeploy:
git commit --allow-empty -m "<message>" && git push <origin> <branch>
If executing the
setup:uninstall command fails with an error and cannot be completed, we may clear the DB manually with these steps:
Connect to the MySQL DB:
mysql -h database.internal
drop database main;
Create an empty
create database main;
Delete the following configuration files:
After resetting the DB, make a git push to the environment to trigger redeploy and install Adobe Commerce to a newly created DB. Or run the redeploy command.
In our developer documentation: