【问题标题】:Make database migrations in symfony application on google app engine在谷歌应用引擎上的 symfony 应用程序中进行数据库迁移
【发布时间】:2019-10-05 20:36:31
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: symfony google-app-engine app-engine-flexible google-app-engine-php doctrine-migrations


    【解决方案1】:

    有一个用于 Cloud SQL 的数据迁移工具。您可以找到here 官方指南,了解如何使用它。

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-01-03
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 2023-04-02
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多