恢复环境
如果您在集成环境中遇到问题并且没有 有效备份中,请尝试使用以下方法之一恢复环境:
- 重置或还原Git分支中的代码
- 卸载 Commerce 应用程序
- 强制重新部署
- 手动重置数据库
重置Git分支
重置Git分支会将代码恢复到以前的稳定状态。
重置分支:
-
在本地工作站上,转到您的项目目录。
-
查看Git提交历史记录。 使用
--oneline
在一行中显示缩写的提交:code language-bash git log --oneline
示例响应:
code language-terminal 6bf9f45 (HEAD -> master, magento/master, magento/develop, magento/HEAD, develop) Create composer.lock 34d7434 2.4.6 upgrade b69803c Update composer.lock c1bca24 Add sample data ec604c3 Update magento/ece-tools ...
-
选择表示代码的最后一个已知稳定状态的提交哈希。
要将分支重置为其初始初始化状态,请查找创建分支的第一个提交。 您可以使用
--reverse
以反向时间顺序显示历史记录。 -
使用硬重置选项重置分支。 使用此命令时请务必小心,因为它会丢弃自选定的提交后所做的所有更改。
code language-bash git reset --hard <commit>
-
推送更改以触发重新部署,从而重新安装Adobe Commerce。
code language-bash git push --force <origin> <branch>
卸载Commer
卸载 Commerce 应用程序通过还原数据库、删除部署配置并清除 var/
子目录。 本指导还会将您的Git分支重置为以前的稳定状态。 如果您最近没有备份,但可以使用SSH访问远程环境,请按照以下步骤恢复环境:
- 禁用配置管理
- 卸载Adobe Commerce
- 重置Git分支
卸载Adobe Commerce软件将删除并恢复数据库,删除部署配置,并清除 var/
子目录。 必须禁用 配置管理 以便它不会在下次部署期间自动应用先前的配置设置。 确保您的 app/etc/
目录不包含 config.php
文件。
卸载Adobe Commerce软件:
-
在本地工作站上,转到您的项目目录。
-
使用SSH登录到远程环境。
code language-bash magento-cloud ssh
-
删除配置文件。
-
对于Adobe Commerce 2.2及更高版本:
code language-bash rm app/etc/config.php
-
对于Adobe Commerce 2.1:
code language-bash rm app/etc/config.local.php
-
-
卸载Adobe Commerce应用程序。
code language-bash php bin/magento setup:uninstall -n
-
确认Adobe Commerce已成功卸载。
将显示以下消息以确认卸载成功:
code language-terminal [SUCCESS]: Magento uninstallation complete.
-
清除
var/
子目录。code language-bash rm -rf var/*
-
注销。
code language-bash |
---|
|
强制重新部署
如果您尝试卸载Adobe Commerce但部署仍然失败,则可以尝试手动强制重新部署。
git commit --allow-empty -m "<message>" && git push <origin> <branch>
重置数据库
如果您尝试卸载Adobe Commerce,但命令失败或无法完成,则可以手动重置数据库。
重置数据库:
-
在本地工作站上,转到您的项目目录。
-
使用SSH登录到远程环境。
code language-bash magento-cloud ssh
-
连接到数据库。
code language-bash mysql -h database.internal
-
放下
main
数据库。code language-shell drop database main;
-
创建空的
main
数据库。code language-shell create database main;
-
删除以下配置文件。
config.php
config.php.bak
env.php
env.php.bak
-
注销并触发重新部署。
code language-bash magento-cloud environment:redeploy