【问题标题】:Is there a best practice for migrating Concrete5 sites using MySQL?是否有使用 MySQL 迁移 Concrete5 站点的最佳实践?
【发布时间】: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


【解决方案1】:

有分步指南,请点击此链接:http://www.concrete5.org/documentation/installation/moving_a_site

注意:确保文件正确位于站点首选项Your site's config/site.php will have a constant DIRNAME_APP_UPDATED defined that should match the name of the folder.

以及用于写入权限的chmod文件夹:

files/cache/
files/tmp/
updates/

【讨论】:

  • 我在发帖之前确实读过。问题是它似乎没有解决在一些开发修订后后续上传的想法。如何在不覆盖所有内容的情况下将新的数据库更改放到生产服务器上?或者,如果您下载要使用的数据库快照,如何在不覆盖实时数据库的情况下将其放回原处? MySQL 增加的开发麻烦似乎与它在实时站点上解决的一样多。
  • 这不是 MySQL 的问题,开发者将完整的 URL 与路径 A 的开发源放在数据库中。如果你放在另一台服务器上,它会读取路径 A 但仍然不存在。因此,您需要在生产服务器上手动将路径 A 更改为路径 B。然后它将读取数据库中的所有文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 2019-01-01
  • 2016-02-20
  • 1970-01-01
  • 2023-03-25
相关资源
最近更新 更多