我碰到我在那里工作的两个分支上轨项目问题,每个项目都有迁移到添加一列。 当时, rake db:migrate:reset
造成一个问题,我完全依靠我的schema.rb
正确表示我的数据库的状态。 在一个点上,我遇到了一个问题,即由分公司加入A柱钻进分支B的模式由于migrate:reset
不是一种选择,我使出手动编辑模式文件。 我犯了这个变化,基本上删除了一个分支,我没有在分支B的schema.rb需要的列。
之后我已经合并一个分支到主问题就来了。 当我试图支路B变基到高手,我仍然有B中删除列(它现在已经成为相关的,因为它是在主)在架构文件提交。 Git的没有看到这个冲突和自动合并它。 在我的底垫的最后,我发现我的模式是与我有什么在主不一致。
我的解决方法是重新编辑模式文件并手动添加先前删除列回模式文件。 我的问题是:这被认为是标新立异? 危险吗? 哈克?
现在,它涉及到一个列,但如果涉及多列删除/添加的(危险吗?)解决方案,可能会导致更多的问题和db / schema.rb不一致。