H2``unscript''.命令将所有表名变成大写;
技术问答
268 人阅读
|
0 人回复
|
2023-09-14
|
我有一个sql脚本(这只是架构定义)。mysql dumb修改版(摆脱了h不喜欢的坏字符)。
O5 u6 L$ t1 s% V% A& Q脚本将运行,架构已插入h在2数据库中,但问题是所有数据库名称都是大写的( xyz XYZ”)。
' N+ B l& P" d) t n( ]( P我需要他们保持小写字母,因为我的应用程序正在寻找小写字母(和mysql db所有的表都是小写字母)。& ~6 \' ]% f* a- @ ^, m
为什么会这样?我怎才能告诉我?H2不这样做吗?有没有更好的方法插入架构定义?h2?
3 U4 Q/ V7 T. K0 S" ~这是我在运行的INT命令:" G/ L' b3 E/ J' K9 Z' _
jdbc:h2:mem:~/test;INIT=runscript from '~/schema.sql'编辑:刚才在h在控制台上尝试过同样的事情。所以,这不是INIT它与 有关RUNSCRIPT与命令有关。
+ e" ^5 i: ]$ u s) ^6 x9 y9 q, A试过这个
3 L, a) D# N `1 Y" fRUNSCRIPT FROM '~/schema.sql + ?4 @8 y1 i4 d9 y/ \& k7 w) r4 U
解决方案: # ^9 l0 h* p- B5 n9 [0 e1 ]6 g/ u
发现了问题。默认情况下,h将此设置设置为true5 n% p) D( |4 @2 [, e' W: k& G8 Z
DATABASE_TO_UPPER。将其设置为false数据将按预期保存。所以,在我身上INIT输入命令(前):
/ b9 V8 D3 [3 l% \ jdbc:h2:mem:~/test;DATABASE_TO_UPPER=false;INIT=runscript from '~/schema.sql'现在用正确的大小写插入表格 |
|
|
|
|
|