2012-01-31 92 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,這絕對是您應該看的東西。