rails處理遺留系統中的表

 最近開始喜歡上了Rails,其實確切地說從1.2開始一直在關注,只不過一直沒有沉下心來動手寫代碼來體驗,藉着手邊原有的PHP項目打算用Rails逐步來改造,終於開始嘗試了,正好Rails也發佈了3.0.3版本,簡單體驗之下發現和之前的有了較大的不同,正在尋找國外的資料琢磨。

    言歸正傳,因爲是逐步改造原有的系統,而不是從新開始一個項目,估計在相當一段時間內需要兩個系統並行運行,改好一塊上線一塊(也符合敏捷開發的思路哈),首先必須要面對的就是原來系統中大量的數據處理。衆所周知Rails的敏捷是建立在其一定規範的MVC命名規則上的,例如rails g model post,會自動尋找數據庫中名爲posts的表,並默認以id作爲主鍵。然而原來的PHP應用系統大部分表都不是這樣命名,查了半天資料,終於在一本較早期的書《Rails CookBook》裏查到了,雖然成書時的Rails版本還是1.x階段,不過試了下在最新的Rails 3.x依然管用。
    方法如下:
    打開建立好的Rails模型,例如post.rb,在其中指定要使用的原系統表名和主鍵:
    class Post  < ActiveRecord::Base
      set_table_name "pb_blog"
      set_primary_key "blogid"
    end
 
存盤,就這麼簡單!
順便小贊下,Rails3比原來方便多了,就以建立模型爲例,原來需要輸入
ruby script\generate model post
現在只需要輸入
rails g model post
就OK了,大大減少了命令輸入時的失誤,真是越來越敏捷了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章