INSERT INTOでSQLException
やっと、なんとか
jruby -S rake test:units
は動くようにはなったものの、実行結果を見ると、fixtureをロードするところで
ActiveRecord::StatementInvalid: NativeException: java.sql.SQLException: This function is not supported: INSERT INTO users (salt, crypted_password, id, email, login, created_at) VAL UES ('7e3041ebc2fc05a40c60028e2c4901a81035d3cd', '00742970dc9e6319f8019fd54864d3ea740f04b1', 1, 'quentin@example.com', 'quentin', '2007-09-06 17:45:46')
みたいなエラーが出ている。念のため別のJDBC経由でINSET文を実行してみたけどちゃんと動いてるのに!
で、よくよくログを見てみると、db:schema:load の最後で
SQL (0.000000) CREATE TABLE schema_info (version integer) SQL (0.000000) NativeException: java.sql.SQLException: This function is not supported: INSERT INTO schema_info (version) VALUES(0) SQL (0.000000) UPDATE schema_info SET version = 5
とか言ってるし!ActiveRecord−JDBC経由でINSET文を実行すると、SQLExceptionが発生するってこと?でも、
jruby script/console test
で、XXXX.createとかしてみたけど、ちゃんとINSERT されている。ログにもINSERT文がちゃんと出てるし!意味不明杉。むきー!
追記
テストケース内のtest_xxxxxメソッドやsetupメソッドで、XXXX.create するとちゃんとINSERTできます。