5

我不能是唯一有这个问题的人,所以我正在寻找建议。

我们在 Oracle 上运行我们的应用程序,但我们的集成测试使用 h2 进行快速内存测试,该数据库在测试开始时由 DDL 脚本构建。

问题是 Oracle 和 h2/hsqldb 之间某些 DDL 命令的使用/语法不同。例如,今天我花了一些时间才意识到“grant select on ...”适用于 Oracle 中的序列,但仅适用于 h2 中的表。

在之前的项目中,我们有一个适配器来删除/翻译此类错误命令,这意味着我们的测试数据库运行的代码与我们在 prod 中实现的代码完全不同。虽然一切都经过了非常彻底的验收测试,但这意味着某些问题可能要到开发周期的后期才会被发现。

在我的最新项目中,我感觉我正在走同样的路——所以肯定其他人也已经踏上了这条路。

有什么建议么?我们正在使用 java/maven,所以欢迎使用合适的解决方案!

4

1 回答 1

2

据我所知,没有这样的适配器。

无论如何,我会说你不会用这样的适配器实现你的目标。一方面,Oracle 的特性集在任何其他解决方案中都不容易找到(这并不一定是 Oracle 的优势)。

于 2012-08-23T20:04:28.813 回答