2017-03-01 76 views
3

我使用Liquibase Hibernate的擴展產生diffChangeLogFile對我的數據庫,我的model.The問題是,當我與Maven運行它,並有模型中的一些變化,Liquibase追加產生變更舊diffChangeLogFile內容,所以我得到一個很多重複的ChangSets,而不是具有相同的ID,但具有相同的內容。 我知道這將不會是一個問題的更新,因爲Liquibase將跳過多次變更,但我想那每次我運行Maven DIFF目標,Liquibase抹去我的diffChangeLogFile的舊內容,並把新的。爲什麼liquibase會在diffChangelog的現有內容中添加新更改?

回答

1

這基本上是diff命令的目的。如果要生成新的更改日誌,則應該使用generateChangeLog命令。

+0

另一個問題PLZ:用java使用Liquibase時如何傳遞的InputStream或字符串而不是一個changelogfile路徑在更新方法?那可能嗎 ? – elpazio

+0

您可能需要編寫自己的「集成」類才能做到這一點。我不認爲有辦法做到這一點使用現有的集成(即命令行,行家等) 此外,Liquibase標識與三個值的變更 - 的ID,作者和路徑。因此,如果您有兩個「功能相同」但具有不同ID的變更集,則在部署這些變更集時會遇到問題。 – SteveDonie

相關問題