模式名称带破折号/连字符i HyperSQL

时间:2012-04-16 10:00:57

标签: java testing hsqldb

我正在为直接使用mysql作为数据存储的遗留应用程序编写单元测试。

我们已经确定的方法是抽象出对它自己的层的数据库访问,并且依赖注入它。我们还将使用hsqldb作为内存数据库为该层编写测试(出于速度原因)。

当前代码使用的是一个名称中包含短划线的模式,据我所知,hypersql没有任何办法可以逃脱它?

我是否需要将模式名称注入数据库层,或者是否有某种方法可以将hsqldb配置为接受破折号?

1 个答案:

答案 0 :(得分:1)

假设您的数据库访问代码使用SELECT * FROM schema-name.tablenameSCHEMA-NAME.tablename之类的任何字符大小写变体,那么您应该将它与HyperSQL一起使用:

CREATE SCHEMA "SCHEMA-NAME" AUTHORIZATION DBA

and

SELECT * FROM "SCHEMA-NAME".tablename

如果您的所有数据都在同一模式中,那么您只需将此模式设置为默认模式,并避免在SQL查询中使用“SCHEMA-NAME”。