2011-09-15 11 views
1

推出下一版本的軟件包時常見的情況是某些數據結構發生變化。當您使用Sql數據庫時,可能需要進行一系列適當的更改和更新。我見過(並創造了自己)多年來做這件事的許多方法。例如RoR具有遷移的概念。但是,迄今爲止我所做的一切似乎都有點毛病,還有其他缺點。用軟件更新更新MySql表格定義的現代智能方法?

在一個神奇的世界,我會能夠自動整理出需要什麼塗改,更新等指定所需的架構定義,並有東西從現有的數據庫佈局移動...

什麼現代的方法論/實踐/模式存在用於通過軟件更新來推出表格定義更改?是否存在這種類型的任何MySql特定的工具/腳本/命令?

回答

2

你看過flywaydbdeploy? Flyway是Java特有的,但我相信適用於任何數據庫,dbdeploy支持更多語言,並且還支持多個數據庫。

+0

除了很棒的'dbdeploy'我也想推薦看看[liquibase](http://www.liquibase.org) – zerkms

+0

flyway看起來不錯,但是maven作爲一個需求可能是一個致命的缺點。而且我認爲命令行工具可能直接在java中使用,因爲.sh腳本只是調用一個jar ......將不得不調查。 – jlarson

+0

和dbdeploy似乎非常依賴maven和ant ... – jlarson