2009-11-02 19 views
2

我的Rails應用照顧命名方案的變化,這是即將有面臨更名的部分(像URL一些關鍵用戶,以及其他類似的變化如重命名「博客」到「期刊」和等等)如何最好地應對在Rails應用程序

我稍微擔心,隨着時間的推移,其在代碼庫中的所有方法,途徑和類名年長的名字負荷將是難以閱讀和維護。

什麼應對這樣的變化的最佳方式?

而且哪裏有陷阱喜歡被混淆的方法和類名的時候,還是在這裏運行的遷移?

感謝

回答

1

如果應用程序是開發並尚未投入生產,則可以安全返回並重命名遷移/模型/視圖等...並執行rake db:migrate:reset並完成相應操作。你應該有足夠的測試,以確保重命名並沒有破壞任何東西,如果它確實應該提高測試覆蓋率在這一領域。

,只要這樣,對於變化的表面面積減小這樣的一個應用程序,目前正在生產我建議逐步做:

更改路線

這可能是最大的變化。首先更新您的路線將使您有機會修復您的所有觀點。

更新您的模型/控制器

你可以做到這一點沒有改變數據庫。您可以使用set_table_name "OldTable"將您的模型指向新的數據庫表。這意味着您可以在發行版的帶外進行任何數據庫更改。

更改數據庫

希望你正在使用的遷移,在這種情況下,只是做一個表重命名和刪除set_table_name。

0

我會重命名內部類以匹配外部的名字,否則談論代碼時只是造成混亂。當然,路由可以使外部更改易於切換,但沒有什麼比在代碼中讀取網頁上看到的內容。

重命名後,我會加載應用了在暫存環境中與實時數據來測試遷移,然後運行類似於狼蛛(http://github.com/relevance/tarantula)來抓取您的應用尋找明顯破損問題,你&您測試可能錯過了。

相關問題