MySQLのwarningって、 文字列が長すぎたから勝手に短くして保存しておいたよ! 数字が大きすぎたから適当な数字を保存しておいたよ!! 数値として解釈できない文字列があったから0とみなして比較したよ!!! など、無視すると死ぬ系メッセージであることが多いんだけど無視されがちなので困り者。 insert系のwarningについてはsql_modeの設定を変えることでエラーにできるんだけど、その設定がなされてなかったり、selectがヤバイみたいなケースもあったりしてな(;´Д`) というわけで、ActiveRecord側でチェックするモンキーパッチを書きました(for mysql2)。 1クエリ実行ごとにshow warning投げてるので本番にはおすすめしない。 Mysql2::Client、リリースバージョンにはwarning_countがないので……。HEAD使うか、次バージョン