假设有一个线上版本 master,一个开发版本 develop,时间线是这样的:
实际测试下来,master 会去跑 A 和 C,跳过 B,这样工作正常。 我奇怪的是,rails 怎么知道跳过已经跑了的 B?哪里有一个缓存?在数据库里面吗? 根据 schema 里面的版本号好像不能获得这样的信息吧?
有个表啊。。。。。数据库里面 哪些跑过了的都在里面
db/schema.rb中保存了数据库当前的状态。你看下它里面的注释就知道了。
db/schema.rb
select * from schema_migrations;
哈,原来如此。