我正在为一个直接使用mysql作为数据存储的遗留应用程序编写单元测试。
我们描述的方法是将数据库访问抽象到它自己的层,并对其进行依赖注入。我们还将使用hsqldb作为内存数据库为该层编写测试(出于速度原因)。
当前的代码使用了一个名称中有破折号的模式,据我所知,hypersql没有任何方法可以避免这种情况?
我是否需要将模式名注入数据库层,或者有什么方法可以将hsqldb配置为接受破折号?
发布于 2012-04-16 18:56:08
假设您的数据库访问代码使用类似SELECT * FROM schema-name.tablename的代码,或者使用带有任何字符大小写变体的SCHEMA-NAME.tablename,那么您应该对HyperSQL使用以下代码:
CREATE SCHEMA "SCHEMA-NAME" AUTHORIZATION DBA
and
SELECT * FROM "SCHEMA-NAME".tablename如果您的所有数据都在同一个模式中,那么您只需将此模式设置为默认模式,并避免在SQL查询中使用" schema -NAME“。
https://stackoverflow.com/questions/10172063
复制相似问题