今天我添加了一个新的迁移到我的rails应用程序并运行rake db:migrate。迁移添加了一个新表。
这导致我的所有主键都添加了默认值nil。我没有添加任何新的宝石,我昨天部署了一些代码进行分期。
我包含一个表的更改,但这适用于我的整个架构。
我的rails版本是5.1.4。
之前:
create_table "faqs", id: :integer, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name", null: false
t.text "description", null: false
t.boolean "default", default: false, null: false
t.integer "order", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
后:
create_table "faqs", id: :integer, default: nil, force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t|
t.string "name", null: false
t.text "description", null: false
t.boolean "default", default: false, null: false
t.integer "order", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
以下是迁移:
class AddDataProtectionRequest < ActiveRecord::Migration[5.1]
def change
create_table :data_protection_requests do |t|
t.string :email, null: false
t.string :first_name, null: false
t.string :last_name, null: false
t.text :body
t.boolean :data_request, default: false
t.boolean :data_removal, default: false
t.string :request_token
t.datetime :token_expiry
t.timestamps
end
end
end
&#13;