Rails: db:migrate 不一致地改变了我盒子上的 schema.rb



从 Github 中提取了一些更新并运行迁移rails db:migrate,并注意到 Git 跟踪对存储库的更改。缩短的schema.rb差异显示它在任何地方插入id: :serial,

有人知道发生了什么吗?安全倾倒这个?它不存在于其他开发人员的计算机上?这是我不知道的设置吗?

-  create_table "boxes", force: :cascade do |t|
+  create_table "boxes", id: :serial, force: :cascade do |t|
     t.text "name", default: "", null: false
     t.datetime "created_at", null: false
     t.datetime "updated_at", null: false
@@ -107,7 +107,7 @@ ActiveRecord::Schema.define(version: 2019_05_27_143936) do
     t.index ["user_id"], name: "index_boxes_on_user_id"
   end
-  create_table "comments", force: :cascade do |t|
+  create_table "comments", id: :serial, force: :cascade do |t|
     t.text "body", null: false
     t.integer "commentable_id", null: false
     t.string "commentable_type", null: false
@@ -116,7 +116,7 @@ ActiveRecord::Schema.define(version: 2019_05_27_143936) do
     t.datetime "updated_at", null: false
   end

生成的schema.rbstructure.sql的更改通常是在更新 postgres 服务器或更新 rails 时引起的。

对于这个具体问题,似乎已经有一个答案:是什么决定了 rails 是否在表定义中包含 id::serial?

最新更新