2013-03-16 16 views
8

我是Flyway的新手,我正在使用Flyway 2.1代碼庫遷移和執行使用Flyway的以前模式版本的SQL語句。一旦我執行我的新SQL語句,元數據表中的版本條目就會增加。在使用Flyway遷移之前預覽SQL語句

但是在我遷移我的新版本模式之前(即在我遷移/執行數據庫模式上的較新SQL語句之前),我想在另一個preview.sql文件中捕獲所有新SQL, DBA在繼續遷移之前可以看到SQL。

我打算通過向Flyway.java文件添加flyway.preview()方法來實現此目的。您能否讓我知道還有哪些其他文件需要更改才能完成?

此外,我只想在新版本>當前在數據庫中的當前模式版本時執行此操作。我檢查了2.1代碼,但SchemaVersion類在2.1中已被棄用,我不知道如何從數據庫中獲取當前版本。

我將不勝感激您的幫助或任何可以糾正我的方法的建議。

謝謝

+0

你在做什麼和這個之間可能有重疊:https://github.com/flyway/flyway/issues/87 - 也許一旦你建立你的解決方案,你可以通過拉請求提交它? – 2017-04-21 01:53:53

回答

1

必要的抽象是沒有就位,以支持這一點,但我打算將他們在接下來的幾周內,以支持2.2批量更新。一旦完成,應該更容易實現這一點。

至於查詢數據庫的狀態,你有Flyway.info()來幫助你。

+0

嗨阿克塞爾,感謝您的回覆。根據你對我的帖子的回覆,是否會有預覽命令沿着信息線?意思是,如果我做了flyway.cmd預覽,那麼會輸出將要應用的SQL列表嗎?由於我目前正試圖實現該功能,所以我很想知道。謝謝 – user2176326 2013-03-18 07:35:19

+0

不,我會以可以切換執行程序的方式執行它。要麼執行到jdbc或stdout或類似的東西。 – 2013-03-18 17:08:59

+0

嗨亞歷克斯,我想要打印在控制檯上打印相同的格式ASCII文本文件相同的ascii表..無論如何表可以導出?謝謝 – user2176326 2013-03-22 07:31:25