我有一个 sql 脚本(它只是模式定义)。该脚本是 mysql 哑巴的修改版本(去掉 h2 不喜欢的坏字符)。
脚本运行并将架构插入到 h2 数据库中,但问题是所有数据库名称均为大写(“xyz”转换为“XYZ”)。
我需要它们保持小写,因为我的应用程序正在寻找小写(并且 mysql 数据库中的所有表都是小写)。
为什么会发生这种情况?我怎样才能告诉 h2 不要这样做呢?有没有更好的方法将模式定义插入到 h2 中?
这是我正在运行的 INT 命令:
jdbc:h2:mem:~/test;INIT=runscript from '~/schema.sql'
编辑:刚刚在 h2 控制台上尝试过,同样的事情。所以这不是一些 INIT 问题,而是“RUNSCRIPT”命令的问题。
试过这个
RUNSCRIPT FROM '~/schema.sql'
发现问题了。默认情况下,h2 将此设置设置为 trueDATABASE_TO_UPPER
。将其设置为 false 将按预期保存数据。因此,在我的 INIT 命令(在它之前)中,我输入:
jdbc:h2:mem:~/test;DATABASE_TO_UPPER=false;INIT=runscript from '~/schema.sql'
现在表正在以正确的大小写插入
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)