2012-08-14 33 views
3

爲什麼Flyway使用版本號而不是時間戳? 這應該如何與更大和可能分佈的團隊一起工作?爲什麼使用版本號而不是時間戳

我是否必須發送併發送電子郵件給所有團隊成員,宣佈我現在爲我保留了版本號xy? 如果兩個開發人員都使用相同的版本號,會發生什麼情況? 如果一個較低的版本號被檢入到版本控制中(並且由集成數據庫上的生成服務器執行),在另一個更高的數字已被檢入之後會怎麼樣?

我習慣於在使用時間戳代替版本號的rails(> = 2.1)中進行遷移後進行了精密模擬的mybatis-migrations。 現在我認爲時間戳更有意義:我不必擔心版本號,並且可以輕鬆檢測到無序遷移。

回答

4

這裏有幾個問題。我會盡我所能來回答他們。

Flyway的版本控制系統非常靈活。它並不關心你的版本是1.0,20120816115123還是2012.8.16.11.51.23。因此,如果您願意,您可以自由使用時間戳。

保留一個版本號可以很簡單,就像在白板,一張紙或一個維基頁面上的數字旁邊添加姓名一樣。

Flyway將檢測到具有相同版本的多個遷移並報告錯誤。

無序遷移支持目前是#1 requested issue,將包含在即將發佈的1.8版本中。

+0

我們的構建服務器在任何提交測試數據庫後運行應用程序。 我認爲這很有用,但亂序遷移很容易發生。 我認爲使用像2012.8.16.11.51.23這樣的「版本號」加上一個強制亂序遷移的選項_on test_ only將是一個很好的解決方案! BTW:爲了公平和公正,Flyway網站上的框架對比表應包括「可選亂序遷移」和「向後遷移」。 – 2012-08-16 11:11:35

相關問題