代码之家  ›  专栏  ›  技术社区  ›  ryeguy

为什么Rails要在生产环境中重新运行迁移?

  •  1
  • ryeguy  · 技术社区  · 15 年前

    第一次部署应用程序时,我在服务器上运行 rake db:setup 从中加载整个迁移历史 schema.rb . 现在我有更多的东西要添加,但是当我跑步时 rake db:migrate 在我的服务器上,我意识到它正试图运行我的第一次迁移,这是失败的,因为表显然存在。

    检查 schema_migrations 在我的生产服务器上,我意识到它只有一个条目,这是在初始部署时最新的迁移。它不应该有 整个的 迁移历史记录?如果是这样,是什么造成的?如果没有,为什么要这样做?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Hardryv    15 年前

    您记得在生产环境中迁移吗?

    rake db:migrate RAILS_ENV=production

        2
  •  2
  •   ryeguy    15 年前

    我不知道这是怎么发生的,但问题是 schema_migrations 表只包含最新迁移的时间戳,而不是完整的历史记录。我手动插入了所有的,它工作得很好。

    让我害怕的是这件事不知怎么发生,我不知道怎么发生。哦,好吧。