在 elasticbeanstalk 部署过程中应该在哪里运行迁移?

Tho*_*ggi 4 database migration amazon-web-services elastic-beanstalk

我很好奇人们如何db migrate在他们的 eb 应用程序上运行命令。如果您将其添加为一个.ebextensions我担心当您为一个应用程序有多个实例时,如果多个服务器尝试运行相同的迁移,则可能会发生冲突。

应该在部署过程中的什么时候db migrate运行命令?

小智 7

您可以尝试标志:leader_onlyebextensions配置文件中。即使您在许多实例中部署了应用程序,此标志也会使您的迁移只运行一次。例如,将此文件保存到您项目的根目录中的路径:/.ebextensions/migration.config

option_settings:
container_commands:
    database_migration:
        leader_only: true
        command: "db migrate"
Run Code Online (Sandbox Code Playgroud)

更多信息:AWS Elastic Beanstalk 官方文档