2012-01-31 90 views
1

我们有SQL Server/Oracle DDL,但我想用Derby进行开发/自动化测试。我想要一个测试环境,我可以从源代码控制同步到并运行 - 没有DB安装BS。将Oracle或Sql Server DDL转换为Derby

有谁知道将SQL Server或Oracle DDL转换为Apache Derby的好方法吗?

+0

你知道这没有多大意义。每个数据库系统的DDL是不同的。在用于生产的不同数据库系统上进行测试几乎是浪费精力。 – steve 2012-02-01 07:17:14

+0

它使各种感觉。在通过针对德比的初始测试后,我们仍然会在生产数据库上进行测试。我们有DB-agnostic代码,它只是DDL不同(有一些例外)。 SQL Server/Oracle安装程序繁琐耗时,且脚本编写非常困难。德比只是一个jar文件。 – 2012-02-01 17:59:55

+0

这些数据库的锁定和性能行为将会有很大的不同。其实脚本并不难。 – steve 2012-02-02 08:16:43

回答

1

我不知道这样做的自动化方式,但它不应该太难。如果是我的,我只需将我的SQL Server或Oracle DDL提交给测试Derby数据库,然后开始查看错误。

然后,我开始用我最喜欢的脚本语言编写一个短程序来处理DDL,并将Derby抱怨的部分更改为Derby需要的语法。

1

看一看Liquibase

您可以在独立于DBMS的XML定义中定义您的表(和其他数据库对象)。然后,Liquibase将为您创建适用于特定DBMS的DDL。

如果您需要使用相同的定义来源定位不同的DBMS,这绝对是您应该看的东西。