2014-04-04 86 views
0

目前,我有以下設置:重定向文件內部根到另一個文件夾根據病情

*.mysite.com --> /home/public_html/app/index.php 

我想寫的index.php中的一些代碼,改變了整個文檔根目錄爲/ home /的public_html/app_prev /index.php基於一個條件。原因是我正在進行遷移,如果他們還沒有被遷移,我想服務舊版本的代碼;一旦他們遷移。每個用戶都擁有自己的數據庫,我將通過1進行遷移。通常遷移它們需要幾秒鐘,但此版本需要一段時間才能完成。

  1. 這可能嗎?
  2. 這是建議什麼時候進行大型數據庫模式更改?它會導致性能問題/錯誤?

回答

1
  1. 您可以根據您要查找的條件使用PHP重定向。這是沒有什麼不同,然後根據什麼進來服務不同的頁面。
  2. 這是一個合理的實現,如果你有很多大型數據庫,並且你擔心性能。我會測試它
    1. 保留舊的代碼路徑和舊的數據庫。
    2. 將測試數據庫遷移到新的代碼庫。我不知道你是如何做你的邏輯,但你可以有一個單一的列,每個數據庫中的一個條目表,描述它是在舊的或新的代碼庫。
    3. 測試新代碼庫的工作原理。
    4. 開始遷移您的數據庫,更改每個數據庫中的單個條目(或者您的邏輯已確定)。
+0

1.標題重定向是使它適用於我的關鍵部分!我剛剛測試了我的解決方案,它效果很好! 2.我會做一些負載測試,但我真的不能測試真實的,因爲我無法模擬負載。在大多數情況下,將會發生少許變化,因爲我將在晚上做這件事。你知道有多少sql會影響改變模式的能力嗎? –

+0

某些SQL查詢(例如UPDATE)會鎖定表,因此您將無法更改模式,但如果您在低活動時運行它,則通常應該可以。 –

+0

SQL查詢有可能超時? (例如,如果有很多更新正在進行) –

相關問題