Jen*_*a S 5 ruby-on-rails ruby-on-rails-4
我几个月来就注意到了这一点,但直到现在我才没有时间处理它。每当我的 CI 服务器自动执行git pull并重新启动 Rails 服务器时,它们schema.rb都会被随机修改。如下例所示,api_name某个表的列被删除。大约三个月前我放弃了这个专栏。与 相同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
Run Code Online (Sandbox Code Playgroud)
当您运行迁移时,架构不仅会通过迁移进行更新,还会通过当前数据库进行更新。我猜测您的一些开发人员正在使用与架构不一致的数据库。然后,每次他们运行迁移时,您都会得到意想不到的更改。