Mysql2::Error: Invalid default value for 'status
在服务器上运行db:migrate 出现了错误:
-- add_column(:enterprises, :status, :string, {:comment=>"是否审批", :default=>"未处理"})
rake aborted!
StandardError: An error has occurred, all later migrations canceled: Mysql2::Error: Invalid default value for 'status 这个错误意味着 'status' 字段的默认值无效。解决此错误的一种方法是在添加 'status' 字段时指定有效的默认值。
例如,您可以使用以下命令来指定 'status' 字段的默认值:
add_column(:enterprises, :status, :string, {:comment=>"是否审批", :default=>"pending"})在这个示例中,我们将 'status' 字段的默认值设置为 'pending',这是一个有效的默认值,不会触发错误。
然后,您可以运行
rake db:migrate
但是仍然报错,直接把默认值删除就可以了。可用在model或者controller对该列赋值
add_column(:enterprises, :status, :string