0

我在谷歌应用引擎(灵活)上开发了我的 symfony 4 应用程序的开发者版本。我的代码在 github 上,而不是在我运行测试并将我的应用程序构建/部署到应用程序引擎的地方进行云构建。因为它是开发人员版本,所以进行自动数据库迁移会很好。我已经搜索过,但找不到任何解决方案/文档如何实现这种自动化。

我尝试 bin/console doctrine:migrations:migrate在我的构建过程中进行额外的构建步骤,但它无法通过unix_socket=/cloudsql/(应用引擎中推荐的方法)访问数据库。我不想通过公共 ip 连接,但我想知道是否可以通过 unix 套接字连接?

我还想知道迁移步骤是否应该在应用程序部署之后或之前运行?

或者也许不需要单独运行此步骤,我可以在部署到我的应用引擎实例后运行迁移?

4

1 回答 1

0

Cloud SQL 有一个数据迁移工具。您可以在此处找到有关如何使用它的官方指南。

是的,可以使用 unix_socket 连接到 Cloud SQL,您有 2 个选项:连接公共 IP 和连接私有 IP。这里有一个关于如何使用 unix_socket 连接到你的 Cloud SQL 实例的官方指南。我了解到您正在尝试使用私有 IP 进行连接。您是否在 Cloud SQL 实例配置中将 IP 列入白名单?您能否向我提供有关您收到的错误或您如何尝试建立连接的更多信息?一旦您向我提供这些额外信息(如果需要),我将立即编辑我的答案并提供更多详细信息。

连接到 Cloud SQL 的另一个不错的选择是使用Cloud SQL 代理,因为您不想使用公共 IP 。

关于你最后一个问题,你的迁移步骤应该在应用程序部署之前运行,否则你可能会遇到应用程序的一些错误。

于 2019-10-09T08:02:46.917 回答