一個非常好的問題。首先修改數(shù)據(jù)源配置,將原來連接SQLServer改為連接MySQL,然后遷移數(shù)據(jù)庫,最后運行程序,檢查潛在的兼容問題。
題主沒有詳細(xì)介紹使用的開發(fā)技術(shù)棧,下面以題主熟悉的Java + Spring Boot開發(fā)為例,介紹詳細(xì)操作過程。
一,修改數(shù)據(jù)源配置1,在application.yml中配置連接字符串
如果使用了Ali Druid連接池管理,配置信息寫在druid子目錄下,注意SQLServer和MySQL兩種數(shù)據(jù)庫不同的寫法。
2,MySQL的驅(qū)動名稱和連接url,注意數(shù)據(jù)庫名稱
二,手動導(dǎo)出導(dǎo)入數(shù)據(jù)庫題主沒有描述項目中當(dāng)前使用的數(shù)據(jù)庫管理方式,首先介紹手動導(dǎo)出導(dǎo)入數(shù)據(jù)庫的操作過程。
進入到SQLServer數(shù)據(jù)庫后臺管理系統(tǒng),將數(shù)據(jù)庫導(dǎo)出,如果需要包含數(shù)據(jù),注意勾選導(dǎo)出時的選項。
然后使用MySQL Workbench或者其它工具,連接MySQL服務(wù)器,新建數(shù)據(jù)庫,導(dǎo)入SQL腳本,自動創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)和生成數(shù)據(jù)。
三,擴展延伸:SQL腳本管理在軟件研發(fā)管理中,數(shù)據(jù)庫的版本化管理非常重要。首先是代碼和數(shù)據(jù)庫保持一致,并且數(shù)據(jù)庫的變更記錄有據(jù)可查。其次是部署發(fā)布、數(shù)據(jù)遷移時,自動運行腳本遠比手動配置更高效、更安全,及時對數(shù)據(jù)庫進行維護處理。
在Java + Spring Boot開發(fā)場景中,推薦使用Flyway版本化管理數(shù)據(jù)庫。
1,初識Flyway
Flyway是一個數(shù)據(jù)庫版本化管理工具,通過SQL腳本實現(xiàn)DB Migration自動化升級,支持獨立運行,也可以和構(gòu)建工具或者Spring開發(fā)環(huán)境集成。
2,SQL腳本文件目錄結(jié)構(gòu)
3,Spring Boot集成Flyway
四,編譯運行項目,檢查兼容性完成代碼配置和數(shù)據(jù)庫遷移后,啟動項目測試功能。
1,單元測試
如果項目中有單元測試覆蓋了數(shù)據(jù)庫讀寫功能,那么就首先運行單元測試,檢查功能是否正常,測試能否通過。
2,回歸測試
切換數(shù)據(jù)庫后,有一些潛在的數(shù)據(jù)兼容問題,比如整型數(shù)、日期TimeStamp,建議進行系統(tǒng)功能全量回歸測試,發(fā)現(xiàn)問題后及時修復(fù)。
我是工作多年的Web應(yīng)用架構(gòu)師,陸續(xù)發(fā)布關(guān)于軟件開發(fā)方面的文章,歡迎關(guān)注我,了解更多IT專業(yè)知識。