我创建了一个迁移,运行 rake db:migrate
,这增加了我的 db/schema.rb 版本号。然后我执行了一个 git fetch origin master
并看到我的团队成员进行了更改。所以我做了一个 git stash
和一个 git rebase FETCH_HEAD
,然后是一个 git stash pop
。这导致了 db/schema.rb 中版本号的冲突。
Upstream>>>
ActiveRecord::Schema.define(:version => 20110930179257) do
===========
ActiveRecord::Schema.define(:version => 20110930161932) do
<<<Stashed
我认为适当的解决方法是手动将版本号增加到高于上游的版本号。
这是明智的还是坏消息?
谢谢, 最大
最佳答案
如果您当前的数据库具有正确的模式,您应该:
运行挂起的迁移(如果有的话)
rake db:migrate
从您当前的数据库模式覆盖您的
schema.rb
rake db:schema:dump
并提交
关于ruby-on-rails - 管理 Git 操作创建的 schema.rb 中的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7614215/