rails3系、rails4.1未満 で、mysql5.7.3以上を使って rake db:migrate とかすると次のようなエラーが出てしまって migrate できない。

Mysql2::Error: All parts of a PRIMARY KEY must be NOT NULL; 

mysql側で primary key に null が使えなくなったことが原因。 mysql2アダプターのほうの primary key 上での書き方を変更して上げる必要がありそう。

# config/initializers/mysql.rb
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
  NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end
Recent Entries