Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problema PRIMARY KEY com a criação de tabelas no Rails usando o comando rake db:migrate com mysql


Eu também recentemente enfrentei o mesmo problema.

O MySQL 5.7 não suporta mais valores padrão nulos para a chave primária.

Ao substituir o padrão nativo para chaves primárias no MySql, você pode resolver seu problema.

Em config/initializers/abstract_mysql_adapter.rb:
class ActiveRecord::ConnectionAdapters::MysqlAdapter
  NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end

Para mysql2 deve ser config/initializers/abstract_mysql2_adapter.rb:
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
  NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end