Rails 2 个 branch 的 migration 合并问题?

linjunhalida · October 04, 2013 · Last by linjunhalida replied at October 04, 2013 · 2088 hits

假设有一个线上版本 master,一个开发版本 develop,时间线是这样的:

  • develop 开始开发,创建了一个 migration A
  • master 修订 bug,创建了一个 migration B,并且执行了
  • develop 继续开发,创建 migration C
  • develop 合并到 master,master 跑 migrate

实际测试下来,master 会去跑 A 和 C,跳过 B,这样工作正常。 我奇怪的是,rails 怎么知道跳过已经跑了的 B?哪里有一个缓存?在数据库里面吗? 根据 schema 里面的版本号好像不能获得这样的信息吧?

有个表啊。。。。。数据库里面 哪些跑过了的都在里面

db/schema.rb中保存了数据库当前的状态。你看下它里面的注释就知道了。

select * from schema_migrations;

哈,原来如此。

You need to Sign in before reply, if you don't have an account, please Sign up first.