我的rails迁移会在表的列位置和空格方面更新模式,这是一个令人沮丧的问题。
所以大多数情况下,当我运行bundle exec rake db:migrate
时,它会执行以下其中一种情况。当我将其合并到我们的主分支中,并且其他开发者从此处工作时,他们的rails迁移会还原制表符和位置排序。
我们注意到团队中的所有三个开发人员在运行迁移时都遇到了同样的问题,如果我是模式的最后提交者。
我刚刚更新了postgres到v9.2.4
,与其他开发人员相同。还有什么其他尝试的想法吗?
示例
以下是git差异,以演示正在发生的情况。
重新排序模式的示例:
create_table "accounts", :force => true do |t|
t.integer "organisation_id"
- t.boolean "active", :default => false
t.text "notes"
+ t.boolean "active", :default => false
end
添加选项卡到模式的示例:
create_table "comments", :force => true do |t|
- t.integer "commentable_id", :default => 0
- t.string "commentable_type", :default => ""
+ t.integer "commentable_id", :default => 0
+ t.string "commentable_type", :default => ""
- t.datetime "created_at", :null => false
- t.datetime "updated_at", :null => false
+ t.datetime "created_at", :null => false
+ t.datetime "updated_at", :null => false
psql
中的\d accounts
输出,你会找到罪魁祸首;这可能以各种方式发生,但不应该成为问题。第二个可能只是一个对齐的问题(即使所有的:default => ...
选项都排成一行),但如果没有看到整个schema.rb
文件,很难说清楚。 - mu is too short