Niedawno spotkałem się z tym samym problemem.
MySQL 5.7 nie obsługuje już pustych wartości domyślnych klucza podstawowego.
Zastępując domyślne ustawienia natywne dla kluczy podstawowych w MySql, możesz rozwiązać swój problem.
W config/initializers/abstract_mysql_adapter.rb:
class ActiveRecord::ConnectionAdapters::MysqlAdapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end
Dla mysql2 powinien to być config/initializers/abstract_mysql2_adapter.rb:
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end