schema.rb中的随机更改

时间:2017-08-03 20:37:35

标签: ruby-on-rails ruby-on-rails-4

我已经注意到这几个月,直到现在我才没有时间处理它。每当我的CI服务器执行自动git pull并重新启动rails服务器时,schema.rb会被随机修改。如下面的示例所示,某个表的api_name列已被删除。我大约3个月前放弃了这个专栏。与transportation_charges相同。通常,此文件中的间距会发生变化:请参阅created_atupdated_at

特别令人讨厌,因为在下次运行时,当我的CI执行初始git pull时,它会抱怨schema.rb的更改并停止执行,直到它们被推送或恢复为止。它不仅仅是CI服务器。我也在其他开发者机器上看过这个。有没有人遇到过这个?

diff --git a/db/schema.rb b/db/schema.rb
index 470d3bf..166e3ee 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -883,7 +883,6 @@ ActiveRecord::Schema.define(version: 20170720211740) do

   create_table "ups_package_service_options", force: :cascade do |t|
     t.string   "name"
-    t.string   "api_name"
     t.string   "type"
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
@@ -910,9 +909,8 @@ ActiveRecord::Schema.define(version: 20170720211740) do
     t.string   "code"
     t.string   "name"
     t.string   "api_name"
-    t.decimal  "transportation_charges"
-    t.datetime "created_at",             null: false
-    t.datetime "updated_at",             null: false
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
     t.boolean  "domestic"
   end

1 个答案:

答案 0 :(得分:1)

运行迁移时,架构不仅会通过迁移进行更新,还会更新当前数据库。我猜你的一些开发人员正在使用与架构不一致的数据库。然后,每次运行迁移时,您都会收到意外的更改。