【发布时间】:2016-04-13 19:41:27
【问题描述】:
假设我在git 的Rails 应用程序上工作,我有两个分支,每个分支都有自己的迁移。
1) branch001 通过迁移 20160101000000_create_table_A 创建一个名为 tableA 的表
2) branch002 通过迁移 20160101000001_create_table_B 创建一个名为 tableB 的表
很明显,第二次迁移的时间戳是在第一次迁移之后创建的。
但是假设我首先将branch002 合并到master,因为它首先准备好了。我的架构文件变成了 -
ActiveRecord::Schema.define(version: 20160101000001) do
....
end
架构版本告诉 activerecord 它已经修补到比我的第一个分支更高的级别/版本。
当我终于可以合并我的第一个分支时会发生什么?
- 架构版本会回归到
20160101000000吗? - 运行第一个分支的迁移是否会因为架构看到它已经“修补”并跳过它而出现任何问题?
- 一般来说,此类事情的最佳做法是什么?我应该使用新的、更新的时间戳重命名第一个分支吗?
谢谢!
编辑 -
真的想知道当我将第二个分支合并到master 时我应该怎么做才能解决合并冲突。我应该将其保留为较晚的时间戳还是将其退回到较早的时间戳?
<<<<<<< HEAD (master)
ActiveRecord::Schema.define(version: 20160101000001) do
=======
ActiveRecord::Schema.define(version: 20160101000000) do
>>>>>>> 282cda7... Adding Table B
【问题讨论】:
标签: ruby-on-rails git activerecord rails-migrations