2015-11-07 24 views
0

我已經在我的開發數據庫(Oracle 11xe)上安裝了utPLSQL,可以在用戶模式下執行我的單元測試套件。 (我的產品代碼遷移腳本有Flyway位置,我的測試代碼遷移腳本有Flyway位置。)要在乾淨的數據庫中運行單元測試,我必須使用sqlplus手動執行utplsql的安裝腳本:「@ut_i_do install」 ),那麼我的flyway migrations(產品代碼和單元測試代碼)就會發生在一個命令中。我想自動安裝。我如何創建一個將隨我的測試代碼一起安裝utPLSQL的Flyway遷移腳本?如何使用Flway將utPLSQL遷移到數據庫中?

+0

我嘗試了很多不同的方式來從遷移腳本中調用ut_i_do.sql install,但在flyway進行遷移時保持錯誤。 '開始執行'C:\ Users \ xxxx \ Documents \ utplsql-2-3-0 \ code \ ut_i_do.sql install'; end;'有和沒有開始,「@」。它正在查找並執行腳本,但有些內容會導致語法問題。 –

回答

0

安裝例程使用了SQL * Plus特有的一些功能,因此需要由此調用。我對Flyway不熟悉,但它聽起來好像不處理SQL * Plus的特定功能。

你有沒有辦法從Flyway執行一個操作系統命令來運行SQL * Plus並將安裝程序作爲參數調用?

+0

我明白了。 Flyway命令行執行一些邏輯來決定需要執行哪些SQL腳本。這個想法是讓Flyway處理決定要執行哪些sql腳本。所以我應該能夠將Flyway指向一個空的Oracle實例並安裝一切。所以這就是爲什麼我想通過SQL腳本自動安裝utPLSQL。也許我可以從SQL腳本啓動SQL * Plus ......也許SQL腳本可以執行操作系統命令,例如SQLPlus ......或者可能構建一個SQL腳本版本的utPLSQL安裝。你已經明確了什麼是問題。謝謝保羅。 –

相關問題