当我将几个字段插入到旧数据库模式中的表中时(通过 DataMapper),我得到以下信息:
DataObjects::SQLError "Field 'activationcode' doesn't have a default value"
我实际上并没有为该字段指定一个值,但底层数据库模式(MySQL)也没有一个集合。这实际上不会导致问题,它只是意味着 MySQL 执行插入,但在完成后显示“警告:1”。然而,该警告是导致 Rails 停止并回滚插入的原因。我知道我可以修复这个字段,但还有数千个类似的字段,我正在寻找是否有办法让 DataObjects 冷静下来,只在实际 SQL 错误上出错,而不是在警告上?
Rails 3.0.7、Ruby 1.9.2、DataMapper 1.1.0