我正在开发一个Magento网站。 我有权访问本地主机和远程主机 以某种方式配置开发和生产环境。在 远程主机我恢复备份的数据库数据 本地主机,但是当我这样做时,我会覆盖主机的基本名称 这会导致站点重定向到不存在的URL 页面已加载。我怎样才能避免这种冲突:
我希望能够在http:// remotehost / foobardev上开发(a) 并将我的数据备份到http:// remotehost / foobar或以其他方式(b)开发 在http:// localhost / foobar上,在http:// remotehost / foobar上部署。一世 想知道如何在没有来回传输数据库数据 覆盖Magento管理面板中的值 - >系统 - >配置 - >网络 - >不安全的基本URL /安全基本URL 当我运行mysql并使用mysql命令源恢复时 在开发站点上找到的数据库条目 生产现场。
所以,我想要一种更简单的方法来恢复数据库内容 覆盖在magento管理面板中配置的基本URL这样做 会导致重定向到每个页面加载的不存在或错误的位置 从而使系统无法使用。
答案 0 :(得分:2)
不完全是SO类型的问题。 Magento EE内置了升级版,并且可以合并您的数据。您必须明白,如果没有一些严格的同步框架可以跟踪每个行和列的状态,并且知道哪些数据是新的和旧的并解决同步冲突,那么将数据从dev同步到实时是不可能的。
以下是基于您使用CE并且没有捆绑数据迁移工具的假设的流程。
代码相同,这是一个常见的设置方案,包括实时,阶段和开发环境
所以想象它可以更好地想象你的代码库驻留在git中。
myproject_magento_se (your project git repository on bitbucket.org or in github or wherever you can host)
--> master (branch with all clean magento versions from your current to latest)
--> dev (git checkout -b master (or by specific version from master)
--> stage (while on dev: git checkout -b stage)
--> live (while on stage: git checkout -b live)
并想象您的主机设置如下:
www.mylivesite.com = git clone yourgitrepo; git checkout live;
stage.mylivesite.com = git clone yourgitrepo; git checkout stage;
dev.mylivesite.com = git clone yourgitrepo; git checkout dev;
对于所有这些,您最好拥有部署脚本,只需按一下按钮即可在环境之间切换,代码和数据库解除。
以下是每个软件项目需要执行的一些常见操作
玩得开心:)并完成这个帖子https://superuser.com/questions/90301/sync-two-mysql-databases以及所有其他你可以在类似的事情上找到SO搜索。