4
以前的schema.rb是快速查看哪些列缺省值以及它們是否可以爲空的好地方,但現在它很混亂。例如,下面是用戶表:爲什麼在rails 5.1.0中schema.rb格式不正確?
create_table "users", force: :cascade do |t|
t.string "name", null: false
t.string "email", null: false
t.string "locale", default: "en-ca", null: false
t.string "password_digest", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["email"], name: "index_users_on_email", unique: true, using: :btree
end
而現在它看起來可怕的是這樣的:
create_table "users", id: :serial, force: :cascade do |t|
t.string "name", null: false
t.string "email", null: false
t.string "locale", default: "en-ca", null: false
t.string "password_digest", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["email"], name: "index_users_on_email", unique: true
end
爲什麼會出現這種情況,我怎麼能解決這個問題,同時保持良好的變化,比如id: :serial
和隱式btree
?
您可能還對https://github.com/jakeonrails/fix-db-schema-conflicts感興趣,我們已經使用了很長時間來按字母順序對模式進行排序並標準化縮進。 –