【问题标题】:How does a migration from a Git branch get run on Heroku if a later migration from a different branch has already been run?如果已经运行了来自不同分支的后续迁移,如何在 Heroku 上运行来自 Git 分支的迁移?
【发布时间】:2012-09-24 09:38:48
【问题描述】:

假设我创建了一个分支 (new_branch)。在该分支中,创建了一个迁移 (migration_1)。

稍后,我切换回master。然后我创建一个迁移 (migration_2),推送到 Heroku,然后在 Heroku 上运行迁移。

稍后,我将new_branch 合并到master,然后将master 推送到Heroku。

当我尝试在 Heroku 上运行迁移时,migration_1 会不会被跳过而不运行,因为它是在 migration_2 之前创建的,而 migration_2 已经运行过?

【问题讨论】:

    标签: ruby-on-rails ruby git heroku database-migration


    【解决方案1】:

    每个迁移都附有迁移时间戳。成功应用的迁移列表存储在 Rails 应用程序内的模式表中。

    当您运行migration_2 时,此条目将添加到数据库中。当migration_1 被合并时,Rails 会检测到由于 schema 表中缺少该条目而尚未应用更改,并运行它。

    【讨论】:

    猜你喜欢
    • 2019-09-03
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 2018-03-28
    • 2015-02-10
    • 1970-01-01
    相关资源
    最近更新 更多