ruby-on-rails – 升级到Rails 4.2.6:rake db:将插入列限制迁
我发现很多我们的列没有限制:迁移中的xxx突然限制应用于列,而不是数据库本身,而是我们的db / schema.rb文件.当我们在任何环境中进行迁移时,这并不可怕.它变得麻烦的地方是我们设置新数据库时 – 它们不再匹配我们在各种prod / staging / qa环境中的数据库.
我需要找到一种不会发生这种情况的方法. 随着时间的推移我们添加迁移,我们最终不得不做一个非常复杂和繁琐的git add -p db / schema.rb随着时间的推移,我对我们的db / schema.rb文件与之匹配失去信心任何版本的现实. 作为一个数据点,如果我运行rake db:migrate而没有新的迁移,db / schema.rb会被重建,并且有一个非常大的差异. 解决方法
根据
Rails 4.2 Release Notes中的这个说明:
以及对相关Rails Pull Request 14579的评论:
这个问题不是新的默认问题,而是旧问题的反映. 要解决此问题,我建议运行一个迁移,它将从相关字段中删除限制,然后从数据库重新创建schema.rb.这应该导致新的一致状态. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |