मुझे भी हाल ही में इसी मुद्दे का सामना करना पड़ा।
MySQL 5.7 अब प्राथमिक कुंजी के लिए शून्य डिफ़ॉल्ट मानों का समर्थन नहीं करता है।
MySql में प्राथमिक कुंजियों के लिए नेटिव डिफ़ॉल्ट को ओवरराइड करके आप अपनी समस्या का समाधान कर सकते हैं।
config/initializers/abstract_mysql_adapter.rb में:
class ActiveRecord::ConnectionAdapters::MysqlAdapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end
Mysql2 के लिए यह config/initializers/abstract_mysql2_adapter.rb होना चाहिए:
class ActiveRecord::ConnectionAdapters::Mysql2Adapter
NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY"
end