处理电子商务网站更新的最佳方法是什么?

4
我有一个即将发布的电子商务网站(Magento),目前我的设置包括开发、暂存和生产站点,每个站点都有自己的数据库。从开发环境推送到暂存环境很容易,但是从暂存环境到生产环境怎么办?因为在生产环境中会不断地创建新客户和订单。我应该像苹果公司那样发布“库存正在更新”消息吗?请给予指导。
谢谢。
更新:我想我没有清楚表达我的实际问题。对于那些管理较大电子商务网站的人来说,你们是暂时关闭网站进行更新还是有其他常见或非常见的方法可以使用?
3个回答

2

如果需要的话,Magento已经有一个维护模式。更多讨论可以在这里找到。

通常情况下,您所有的更改可能都是自定义模块,每个模块都有自己的版本和适用的安装/升级脚本。当您在模块的config.xml文件中增加版本号时,Magento会自动查找并运行相应的升级脚本。如果您所有的数据库更改都是通过该脚本进行的,那么就没有什么可担心的了。
这就是我期望我的从演示到生产的网站工作方式,很少需要在管理后台进行其他更改,除非是调整CMS内容中的链接等异常情况。我从未直接从演示数据库复制数据。
更多讨论可以在这里找到。


谢谢!这确实有帮助,但产品怎么办呢?我正在设置一个工作流程,即使它们也要经过开发->暂存->生产。在这种情况下,我所知道的唯一选择是纯粹使用数据库,并从暂存复制到生产环境。有什么建议吗? - KTastrophy
如果可以通过产品导入完成,则只需依次将相同的文件上传到每个服务器即可。并非所有产品类型都可以以此方式定义。至今我还没有找到一个简洁的解决方案,只能通过管理员重新输入它们。 - clockworkgeek

1

你的想法是相当不错的,只要网站的交互部分被禁用 - 如果您正在上传代码/修改数据库,那么由于可能出现的错误,您不希望在此期间引入新数据。

另一种方法是安排cron作业(或者简单地等到12点并手动执行)来上传/更改您希望上传/更改的所有内容。

我现在真的想不出其他办法了 - magento是否有一种禁用-同时更新的方式?

谢谢,

詹姆斯


1
在这种情况下,您应该有升级计划,指定允许升级的时间和日期,并在更新/升级维护模式下使用正确的HTTP头503 Service Unavailable,以便搜索蜘蛛/机器人能够理解情况是暂时的。
您可以自行决定维护模式的显示方式。我建议使用重写规则将所有非开发人员IP的请求重定向到维护页面。这样,您仍然可以使用和执行升级或设置更改,而其他人则看到维护页面。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接