我已经注意到这一点几个月了,直到现在我才有时间处理它。每当CI服务器执行自动git pull并重新启动rails服务器时,schema.rb都会被随机修改。如下面的示例所示,删除了某个表的api_name列。大约3个月前,我放弃了这篇专栏。transportation_charges也是如此。通常,此文件中的间距会发生变化:请参阅created_at和updated_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发布于 2017-08-04 06:57:08
运行迁移时,不仅迁移会更新架构,当前数据库也会更新架构。我猜你的一些开发人员正在使用与模式不一致的数据库。然后,每次运行迁移时,您都会得到意想不到的更改。
https://stackoverflow.com/questions/45494084
复制相似问题