2011-10-24 143 views
0

當所有MySql連接字符串當前都被硬編碼時,在vb.net和MySql中輕鬆地從測試數據庫切換到生產數據庫的最佳方式是什麼?在測試數據庫和生產數據庫之間切換?

+4

這正是你不應該對它們進行硬編碼的原因。 – JohnFx

+2

我想你已經回答了你自己的問題:) – StuartLC

+0

感謝你的幫助,這是我剛剛拿起的其他項目,所以我遇到了很多這樣的傻事。 – MDL

回答

4

花時間將它們移動到配置文件。現在可能會多一點工作,但是在這個項目的整個生命週期中,你會彌補那個時間。

3

將硬編碼的連接字符串遷移到配置文件中。

這當然不是一個困難的過程。

+0

這取決於你所說的「困難」。我在幾年前編寫的網站中添加了一些功能,並且所有內容都是硬編碼的。我使用一個servlet來插入最明顯的SQL和腳本注入,該servlet愚蠢地過濾任何危險的東西,因爲如果我正確地重構了它,我沒有足夠的時間來添加被分配時間內要執行的功能。 – bdares

0

我目前使用兩個選項。

1)利用web.config transformations。它允許您輕鬆定義測試和生產環境,並將根據Visual Studio的構建配置重新編譯web.config文件。我在我的博客here中概述了這一點。

2)如果你不能去說, 「先進」,添加你配置到在下面的命名約定你的web.config中的connectionStrings節:

  • databasename.DEV
  • databasename.PROD

完成此操作後,可以創建一個簡單的函數,根據服務器上的環境提取正確的連接字符串。例如,如果當前服務器的名稱是X,則從PROD配置文件中提取連接字符串,否則使用DEV配置文件。它使一些額外的工作,但允許保持在一個單一的配置文件,但仍然改變的東西,而無需評論/取消註釋web.config文件中的各個部分。

相關問題