2008-10-15 46 views

回答

1

我會檢查的第一件事是數據類型 - 數據類型的確切定義因數據庫而異。我將創建一個映射列表,告訴我們將每個數據類型映射到哪個映射。這將有助於構建新表格。我還會檢查現在沒有使用的數據表或列。沒有意義遷移它們。對功能,工作,sps等做同樣的事情。現在是清理垃圾的時候了。

你是如何通過數據庫的sps或動態查詢訪問數據的?通過運行一個新的開發數據庫來檢查每個查詢,並確保它們仍然有效。 SQl的兩種口味之間又存在差異。我沒有使用我的SQL,所以我不知道一些常見的失敗點是什麼。在您處於這種狀態時,您可能需要對新查詢進行計時,並查看它們是否可以優化。對於數據庫和數據庫的優化也各不相同,當您處於這種狀態時,可能會有一些性能不佳的查詢,現在您可以將其作爲遷移的一部分進行修復。

用戶定義的函數也需要查看。如果你這樣做,不要忘記這些。

不要忘記計劃任務,這些需要在myslq中檢查和重新創建。

你是否定期進口任何數據?所有進口都必須重寫。

一切的關鍵是使用測試數據庫和測試,測試,測試。測試一切,特別是季度或年度報告或者可能會忘記的工作。

你想要做的另一件事是通過版本控制的腳本來做所有事情。直到您可以在開發中按順序運行所有腳本而不發生故障之前,請勿轉移到生產環境。

+0

確保您擁有所有正確的驅動程序來執行數據遷移 - http://technikhil.wordpress.com/2007/05/13/getting-microsoft-sql-server-and-mysql-to-talk/ – Nikhil 2009-11-03 18:12:10

0

我忘了一件事,確保在每次測試運行之前立即從生產中更新從(SQL Server數據庫)運行遷移的開發數據庫。由於您正在測試過時的記錄,所以不願意在產品上出現問題。

+0

如果你不能保持你的開發和生產架構同步,你有更大的問題:) – MarkR 2008-10-15 20:42:34

0

您的客戶代碼幾乎可以肯定是最複雜的修改部分。除非您的應用程序具有非常高質量的測試套件,否則最終不得不進行大量測試。你不能依賴任何一樣的工作,甚至是你可能期望的。

是的,數據庫本身的東西需要改變,但客戶端代碼是主要操作的地方,它需要大量的工作和嚴格的測試。

忘記遷移數據,這是你應該記住的最後一件事;數據庫模式可能很容易被轉換,其他數據庫對象(SP,視圖等)可能會導致問題,但客戶端代碼是問題焦點所在。

幾乎每個執行數據庫查詢的例程都需要更改,但絕對需要對所有這些例程進行測試。這將是不平凡的。

我目前正在考慮將我們的應用程序的主數據庫從MySQL 4.1遷移到5,這種差異要小得多,但它仍然是一個非常非常大的任務。

相關問題