Anche io di recente ho affrontato lo stesso problema.
MySQL 5.7 non supporta più i valori predefiniti null per la chiave primaria.
Sostituendo l'impostazione predefinita Native per le chiavi primarie in MySql puoi risolvere il tuo problema.
In config/initializers/abstract_mysql_adapter.rb:
class ActiveRecord::ConnectionAdapters::MysqlAdapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end
Per mysql2 dovrebbe essere config/initializers/abstract_mysql2_adapter.rb:
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end