11

私はSQLスクリプトを持っています(これは単なるスキーマ定義です)。このスクリプトは、mysql ダムの修正版 (h2 が好まない悪い文字を取り除く) です。

スクリプトが実行され、スキーマが h2 データベースに挿入されますが、問題はすべてのデータベース名が大文字であることです (「xyz」は「XYZ」に変換されます)。

私のアプリケーションは小文字を探しているので、小文字のままにする必要があります (mysql db のすべてのテーブルは小文字です)。

なぜこうなった?h2にそうしないようにするにはどうすればよいですか? スキーマ定義をh2に挿入するより良い方法はありますか?

これは私が実行しているINTコマンドです:

jdbc:h2:mem:~/test;INIT=runscript from '~/schema.sql'

編集:h2コンソールでこれを試してみましたが、同じです。したがって、これは INIT の問題ではなく、'RUNSCRIPT' コマンドに関するものです。

これを試した

RUNSCRIPT FROM '~/schema.sql'
4

2 に答える 2

7

別のオプションは、大文字と小文字を保持するために、テーブル/列名を二重引用符で囲むことです。

たとえばcreate table "products"、代わりにcreate table products

于 2015-05-19T22:21:55.583 に答える