平時(shí)公司內(nèi)開(kāi)發(fā)都是使用同一數(shù)據(jù)庫(kù),現(xiàn)在需要和別人遠(yuǎn)程合作開(kāi)發(fā),如何能同步兩者開(kāi)發(fā)時(shí)表結(jié)構(gòu)的修改?.NET中的EntityFramework和RoR中ActiveRecord提供的腳手架工具都可以自動(dòng)跟蹤歷史修改,但是Java中的Hibernate似乎沒(méi)有對(duì)應(yīng)的功能?,F(xiàn)在能想到的是下面方案1.用版本管理同步一份SQL文件,然后用diff工具比較再修改表結(jié)構(gòu)。2.用版本管理工具管理腳本,每一次變更就多一個(gè)腳本。這樣省掉了比較,然后手寫(xiě)更改代碼。但是似乎不容易跟蹤從那個(gè)文件開(kāi)始執(zhí)行。@greatghoul提出了可以使用其他成熟的數(shù)據(jù)庫(kù)遷移工具來(lái)維護(hù)數(shù)據(jù)庫(kù),比如單單用Django,來(lái)維護(hù)數(shù)據(jù)庫(kù)遷移。且提供了一可用的遷移工具,參見(jiàn)Alembic
遠(yuǎn)程合作開(kāi)發(fā)時(shí)如何同步每個(gè)人的表結(jié)構(gòu)(Java Spring環(huán)境)
一只斗牛犬
2019-04-09 20:23:57