J'ai moi aussi récemment rencontré le même problème.
MySQL 5.7 ne prend plus en charge les valeurs nulles par défaut pour la clé primaire.
En remplaçant la valeur par défaut native pour les clés primaires dans MySql, vous pouvez résoudre votre problème.
Dans config/initializers/abstract_mysql_adapter.rb :
class ActiveRecord::ConnectionAdapters::MysqlAdapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end
Pour mysql2, cela devrait être config/initializers/abstract_mysql2_adapter.rb :
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end