







適用場景
- 多人並行開發的項目:錶結構頻繁變動,發佈時不再互相“踩踏”,目標環境始終結構一致,心裡有底。
- 多環境流轉的發佈連結:dev→test→uat層層推進時,一鍵將上游結構同步到下游,變更SQL自動歸檔,下載核驗後即可線上執行。
- 固定發版節奏的團隊:把散落在各處、靠人肉維護的SQL變更,收斂為一個統一、可檢索、有版本的歷史倉庫,告別“誰改的、改了什麼、為什麼改”的千古謎題。
目標用戶群體
凡是每天與資料庫結構變更打交道的人,都能從中受益:無論你是統籌全域的基礎架構負責人,是深耕業務的開發工程師,還是守土有責的資料庫運維。 它尤其適合那些“環境多,變更頻,人手少”的團隊——用一次點擊,替代無數條手工SQL。
覈心特色功能
- 差异盡收眼底:錶、列、索引的差异逐項呈現,改動哪些,保留哪些,由你拍板,而不是工具替你“一把梭”。
- 更名映射,隨心所欲:錶名、欄位名可直接映射為源庫名稱,重構、分錶、規範化等真實場景全部覆蓋。
- 内容零遺漏:NOT NULL、COMMENT等欄位内容自動落入SQL檔案,細節不出錯,稽核更省心。
- 版本化輸出:每一次比對都沉澱一份新的SQL版本,可隨時下載、核對、追溯,變更過程一目了然。
- 資料安全優先:只動結構、不動數據——凡是未删除的錶和列,其數據記錄一個位元組都不會被動。
- 能力邊界清晰:當前支持MySQL,覆蓋資料庫錶、錶内容、列名、列内容、索引名、索引内容等覈心遷移項(暫不支持外鍵)。
該產品解决的痛點/競品軟體產品的存在的不足
- 告別“一刀切”式同步:傳統工具直接整體同步,無法按列選擇,目標庫中多出的錶和列往往被悄悄丟掉; 本工具把每個差异擺上檯面,去留由你决定。
- 告別“改不了名”的尷尬:面對錶更名、欄位更名這類高頻重構需求,傳統工具只能乾瞪眼; 本工具支持任意更名映射,重構不再傷筋動骨。
- 告別“改完無痕”的失控:傳統工具變更不留痕,出了問題無從追溯; 本工具讓每一次變更都有據可查,有SQL可審。
- 告別“數據被覆蓋”的風險:更可怕的是行數據被直接覆蓋,導致環境錯亂、數據串擾; 本工具只生成結構變更,守住資料安全的底線。
合作夥伴與成功案例
該工具已在開發者所在公司深入落地,貫穿從開發到上線的完整連結:
- dev→test:曾經,測試環境因缺一個欄位而全線報錯是家常便飯; 如今,測試人員一鍵同步dev結構到test,問題在發生前就被消滅,測試與後端的合作從“反復踢皮球”變為“順暢高效”。
- test→uat:同一套流程向下游自然延伸,每個階段的環境結構始終一致,聯調驗收不再被“環境不一致”扯後腿。
- uat→online:生產發佈堅持“工具生成、人工核對、腳本執行”的原則——工具負責產出準確無誤的遷移SQL,上線動作由人工確認後執行,既享受自動化效率,又守住生產安全底線。
技術支援與服務
- 售後有溫度:購買後提供3天免費集中答疑,此後長期不定期答疑支持,用得放心。
- 定制無門檻:支持功能二次開發,按需定制,費用面議。
- 部署有保障:選擇“部署+下載”,專人遠程協助安裝; 選擇“僅下載”,配套檔案詳盡,自行部署同樣輕鬆。
- 源碼全交付:原始程式碼一併交付,產品歸你所有,後續演進完全自主。
部署/使用先決條件
- 本地或服務器具備Java 8及以上運行環境。
- 本地或服務器可正常訪問待操作的資料庫。
實施/部署步驟收起展開
1、下載到套裝軟體後,./config檔案修改application-local.yml中的MYSQL地址。
databases_sync:
name_spaces:
demo:
source:
datasource:
url: ${source_1_url:jdbc:mysql://192.168.56.101:3306/source_db?characterEncoding=utf-8&autoReconnect=true}
username: ${source_1_username:root}
password: ${source_1_password:123456}
driver-class-name: com.mysql.cj.jdbc.Driver
target:
datasource:
url: ${target_1_url:jdbc:mysql://192.168.56.101:3306/target_db?characterEncoding=utf-8&autoReconnect=true}
username: ${target_1_username:root}
password: ${target_1_password:123456}
driver-class-name: com.mysql.cj.jdbc.Driver
其中demo是DB schema組名,可以添加多個組。
2、回到根目錄運行
java -Dfile.encoding=UTF-8 -jar db-smart-migrate-service-2.0.0-RELEASE.jar --spring.config.location=file:./config/
使用說明
1、登入用戶名密碼為admin/123456
2、點擊目標庫和來源庫的結構比對,點擊開始比對彈出操作對話方塊,根據自己需求進行操作,完成後,點擊下載SQL校驗結構是否正確。