我最近使用 Google App Engine Launcher 成功将正在开发的 WordPress 项目的初始版本部署到 Google App Engine。效果很好。我在本地进行编辑。点击“部署”按钮。完成。
然而,在下一次部署中,我意识到在本地 WordPress 仪表板中完成的所有操作都无法在云部署中完成。插件文件、style.css 和我编辑的其他文件都可以正常上传。只是我猜数据库不行?
因此,使用此工作流程,我必须对每个 WordPress 仪表板进行两次更改 - 一次在本地,另一次在云端。有人可以告诉我这里是否遗漏了某个步骤吗?这是我第一次使用 Google App Engine。谢谢!
答案1
如果你使用为 Google App Engine 项目快速启动 WordPress,它实际上配置为在本地使用与生产中不同的数据库。本地它将连接到 127.0.0.1 上的本地 MySQL 实例,而在生产中它将连接到远程 CloudSQL 实例。您可以看到wp-config.php 中的相关配置。
部署不会将本地 MySQL 中的更改同步到生产数据库。这可能出于一些原因而很糟糕(其中最不重要的是会用本地测试数据覆盖生产数据)。本地 MySQL 数据库旨在与生产隔离以用于测试目的。
建议的工作流程是先部署,然后仅使用远程 WordPress 仪表板在生产中进行更改。如果您需要使用生产数据快照进行一些本地开发,您可以从 CloudSQL 导出到本地 MySQL 实例。更进一步,你甚至可以将本地 MySQL 数据库配置为单向异步副本您的 CloudSQL 实例。
一般来说,您不应该以其他方式(从本地到生产)同步或导出数据库,除非您正在进行某种灾难恢复。