合并功能分支时如何处理rails迁移?

Ove*_*esh 19 migration ruby-on-rails-3

在rails 3中,db:migrate任务如何确定要运行哪些迁移?

考虑以下用例:

  • 开发人员A在他自己的功能分支中的时间戳t1创建迁移
  • 开发人员B在他自己的功能分支中的时间戳t2创建迁移
  • 开发人员B合并他的分支,db:migrate在服务器上运行
  • 开发人员A合并他的分支

由于t1较早,开发人员A的迁移是否会运行?

我注意到了这个schema_migrations表,我想知道是否还会运行任何尚未运行的迁移.

Chr*_*ald 21

您的预感是正确的 - 任何不在的迁移schema_migrations都将运行,并且它们将以时间戳顺序升序运行.

在这种情况下,下次db:migrate在A合并后运行,将运行迁移t1.