Také jsem nedávno čelil stejnému problému.
MySQL 5.7 již nepodporuje výchozí hodnoty null pro primární klíč.
Přepsáním výchozího nativního nastavení pro primární klíče v MySql můžete svůj problém vyřešit.
V config/initializers/abstract_mysql_adapter.rb:
class ActiveRecord::ConnectionAdapters::MysqlAdapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end
Pro mysql2 by to mělo být config/initializers/abstract_mysql2_adapter.rb:
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end