【问题标题】:How does Flyway deal with the fact that several dynos can try to run several migrations in parallel?Flyway 如何处理多个 dyno 可以尝试并行运行多个迁移的事实?
【发布时间】:2015-07-25 05:46:42
【问题描述】:

我只是想知道 Flyway 如何处理这样一个事实,即多个 dyno 可以尝试在 Heroku 等集群环境中多次运行数据库迁移从而导致冲突?

【问题讨论】:

    标签: heroku flyway


    【解决方案1】:

    Flyway 似乎使用锁定来处理这个问题。

    引用文档:

    多个节点可以并行迁移吗?是的! Flyway 使用锁定 数据库技术来协调多个节点。这确保 即使您的应用程序的多个实例尝试 同时迁移数据库,它仍然有效。簇 完全支持配置。

    【讨论】:

      【解决方案2】:

      question 更多地解释了锁定行为的工作原理。它似乎在 Flyway 模式表上获得了锁:select * from dbschema.schema_version for update,这可能会导致长时间运行的迁移出现问题,因为innodb_lock_wait_timeout 设置可能会导致超时,至少在 MySQL 的情况下是这样。

      【讨论】:

        猜你喜欢
        • 2017-08-29
        • 2017-03-03
        • 2020-11-13
        • 2020-06-11
        • 1970-01-01
        • 2020-07-09
        • 2014-09-18
        • 2013-03-06
        • 2016-12-12
        相关资源
        最近更新 更多