【发布时间】:2013-07-28 15:11:51
【问题描述】:
是否有使用 MySQL 迁移 Concrete5 站点的最佳实践? MySQL 数据库可能很挑剔,不喜欢只是从服务器复制到服务器。 Concrete5 开发人员如何处理本地开发 - 远程部署方法?
【问题讨论】:
-
不要只复制 MySQL 文件,因为这可能会导致不同服务器版本出现问题 - 使用
mysql_dump导出并使用mysql重新导入。 -
开发数据库中的转储(可能已更改)是否会在导入实时数据库时弄乱实时数据库?
-
在某种意义上它会取代它,是的。简单的解决方案是关闭您的实时站点(或者停止 Web 服务器,或者像 Wordpress 之类的某些软件具有“维护中”模式)。然后将现有数据库重命名为
whatever_name_old,然后将新的数据库导入whatever_name。如果站点很关键,那么您可以编写此过程的脚本,这样您只有一分钟的停机时间,但是在您学习的同时,最好手动(并且慢慢地)完成。 -
出于这些原因,我不喜欢 MySQL。 :(当我找到concrete5时,我希望它可以使用MongoDB或其他更容易复制实时数据库的东西。WordPress有一个很好的数据库同步插件,不幸的是,他们没有计划成为一个立场-可以与 MySQL 一起使用的单独工具。
-
所有关系数据库都有这个问题,尽管您可能可以使用一些工具将一个数据库“热同步”到另一个数据库。这将确定两个版本之间的差异,然后发出 INSERT/UPDATE/DELETE 以使实时版本加快开发速度。或者,低技术解决方案是记录您对 dev 所做的所有更改,并在您的测试和实时服务器上以“更改脚本”的形式回放它们。我做后者,这对我很有效。
标签: mysql web-deployment concrete5