Rake db:migrate添加默认值:nil到所有表

时间:2018-05-24 18:36:30

标签: ruby-on-rails ruby migration

今天我添加了一个新的迁移到我的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;
&#13;
&#13;

0 个答案:

没有答案