1

H2 データベースで何ヶ月も正常に動作している Grails アプリケーションがあります。テーブル名と列名はすべて大文字です。本番環境に移行するときに MySQL に切り替えたところ、アプリケーションが動作しなくなりました。テーブルの行数をカウントするなどの単純なことでも 0 が返されました。MySQL データベースに正常に接続していることはわかっているので、それは問題ではないと思います。

GUI でテーブルの内容を確認したところ、追加のテーブルが作成されていることに気付きました。それらの名前は似ていますが、すべて大文字ではなく小文字でした。したがって、私の適切なデータはすべてテーブル 'FOO' の下にありますが、コンソールにダンプされる Hibernate クエリによると、私の Grails アプリは 'foo' (空) を探しています。URL (H2 データベースではなく MySQL データベースを指すように更新された)、ドライバー クラス (com.mysql.jdbc.Driver)、方言 (org.hibernate) 以外の Grails 設定は何も変更しませんでした。 .方言.MySQL方言)

アプリケーションは、列名に対しても同じことを行っています。MySQL サーバーの設定を確認したところ、lower_case_table_names 変数が 0 に設定されています。

問題が何であるかを知っている人はいますか?

4

0 に答える 0