2012-02-08 14 views
0

我正在研究一個需要演示/示例版本的Web應用程序,以便潛在客戶可以在操作中看到它。它使用一些查詢來創建概覽,例如「上週發送的發票清單」。爲了創建一個具有良好範例的演示版本,最好這些概述總是相同的。修改數據庫中的所有日期/時間戳與靜態服務器日期

底層數據庫可能會每晚使用一些備份進行恢復。但是,要確保「上週發送的發票列表」頁面始終包含一些結果,則需要修改日期。

什麼是最好的方法來實現這一目標?該應用程序需要大約50個表(MySQL),所有平均約有2個日期/日期時間字段。創建一個以1天爲單位增加所有這些字段的查詢將是一項繁瑣的工作(如果添加更多表格,則需要進行調整)。

所以我想到了以下幾點:只在演示網站/服務器上使用靜態日期。這可以通過每天晚上將服務器日期減少1來完成,並且這將確保查詢總是檢索相同的結果。這是解決這個問題的好辦法,還是會引入其他問題?

回答

0

我決定不這樣做。更改服務器的日期真的感覺像是一個黑客解決方案。由於無論如何每晚都會恢復數據庫,因此我有一個演示數據的mysqldump。我寫了一個小腳本,用於搜索此轉儲中日期的出現次數,並將這些日期增加一天。這個腳本每天晚上都會在將轉儲恢復到數據庫之前運行,到目前爲止它工作正常。

以防萬一有人對腳本感興趣。我已經創建它作爲一個公衆要旨:https://gist.github.com/2406317