2009-11-02 63 views
1

我學習DBIx類和我有點困惑,因爲我與數據庫的交互至今一直在PHP代碼普通的SQL查詢。DBIx ::類結果類別和實際表

反正,按照我的理解,這個類與結果類中定義的,而不是直接與數據庫交互的模式運行。該模式可以通過各種.pm類手動構建,也可以通過Loader類從數據庫中提取。

我的問題是:對此的首選方法是什麼?如果我手動構建結果類然後更改我的數據庫會怎麼樣?我想我必須編輯表格和類,是不是有點不切實際?

感謝

回答

1

一個在使用對象 - 關係映射系統,如DBIx ::類的困難是,你必須保持你的表類上最新與架構。通常,就像在這裏和那裏添加一個字段一樣簡單,可能偶爾會添加一個新的外鍵關係。如果你在版本控制中獲得了代碼,那麼保持跟蹤應該相對簡單。

在兩個地方保持同樣的事情(DB模式)的缺點是在地方有一個ORM系統的優勢壓倒(恕我直言)一旦您習慣了使用DBIx :: Class查詢和它們的ResultSet,事情比編寫原始DBI調用要快得多。

就個人而言,我已經沒有好運氣的裝載機類,但它已經相當一段時間,因爲我嘗試過。如果他們爲你工作,這可能比在代碼中手動維護模式定義更容易。另一方面,我從來沒有被這個需要的微小努力所困擾。一旦系統啓動並運行,數據庫模式往往不會經常更改。

+0

其實我不是真的需要,以反映任何改變,我可能做在這兩個地方困擾,我只是想知道如果是這樣的常用方法。實際上,與組合模式的便利性和與代碼混合的SQL查詢相比,它似乎只是一個很小的努力。感謝您的輸入。 – 2009-11-02 15:30:59