使用BigInt - Rails 5.0.3

时间:2017-06-02 14:51:17

标签: ruby-on-rails ruby

我最近生成了迁移以将我的外键迁移到我们的Rails应用程序上的大整数,但是在加载应用程序时收到以下错误。

ActiveRecord::StatementInvalid (Mysql2::Error: Field 'id' doesn't have a default value

关于我为什么会收到此错误的任何想法?我正在关注新的Rails约定 - http://www.mccartie.com/2016/12/05/rails-5.1.html

示例迁移:

class ChangePrimaryKeyToBigintOnOrganizations < ActiveRecord::Migration[5.0]
  def change
    change_column :organizations, :id, :bigint
  end
end

1 个答案:

答案 0 :(得分:0)

更改列类型时,不会保留列的auto_increment属性,因此您需要自己执行此操作:

change_column :organizations, :id, :bigint, auto_increment: true