Yo también enfrenté recientemente el mismo problema.
MySQL 5.7 ya no admite valores predeterminados nulos para la clave principal.
Al anular el valor predeterminado nativo para las claves principales en MySql, puede resolver su problema.
En config/initializers/abstract_mysql_adapter.rb:
class ActiveRecord::ConnectionAdapters::MysqlAdapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end
Para mysql2 debería ser config/initializers/abstract_mysql2_adapter.rb:
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end