当我尝试使用Mysql2作为数据库管理器在Rails中运行以下代码时:
rake数据库:迁移
我得到以下错误:
rake中止!
“Mysql2::错误:主键的所有部分都不能为NULL:”
如果默认情况下表中的主键不是“null”,为什么会出现此错误
但是,迁移代码:
类CreateUsers<;ActiveRecord::迁移
def更换
创建表:用户不创建|
t、 字符串“first_name”
t、 时间戳
终止
终止
终止
我以前也遇到过同样的问题,我在这里解决了
https://github.com/rails/rails/pull/13247#issuecomment-32425844
使用Rails 2.3.5、MySQL 5.7.9版和MySQL gem,您需要具备
此位用作中的初始值设定项
config/initializers/abstract_mysql_adapter.rb:类ActiveRecord::ConnectionAdapters::MysqlAdapter 本机数据库类型[:主键]=“int(11)自动增量主键” 终止对于mysql2,它应该是config/initializers/abstract_mysql2_adapter.rb:
类ActiveRecord::ConnectionAdapters::Mysql2Adapter 本机数据库类型[:主键]=“int(11)自动增量主键” 终止