我目前正在做一些關於DBIx :: Class的研究,以便從Class :: DBI遷移我當前的應用程序。說實話,我對DBIx :: Class有點失望,因爲它涉及到配置結果類,使用Class :: DBI,我可以通過調用on函數而無需代碼生成器來設置模型元數據,等等。 ..我可以用DBIX :: Class的同樣的事情也似乎客戶端觸發器不支持DBIx :: Class或我不看錯文檔?從Class :: DBI移動到DBIx :: Class
3
A
回答
5
觸發器可以通過在Result類中重新定義適當的方法(new/create/update/delete等)並在代碼之前或之後調用父代(通過$self->next::method()
)來實現。無可否認,與Class :: DBI中的before/after觸發器相比,它有點笨拙。
至於元數據 - 你說的是物體上的臨時列嗎?即不會存儲在數據庫行中的數據。使用CPAN上的Class :: Accessor :: *模塊可以輕鬆添加這些模塊
從CDBI切換到DBIC時做出的最難的改變之一是根據ResultSets思考 - 通常會實施什麼通過CDBI中的Class方法成爲ResultSet上的一個方法 - 並且代碼可能需要大量重構,它並不總是從一個到另一個的直接轉換。
相關問題
- 1. DBIx :: Class :: Storage :: DBI的connect_info如何工作?
- 2. perl DBIx :: Class :: Schema
- 3. 動態添加列到DBIx :: Class ResultSet
- 4. DBIx :: Class獲取dbh
- 5. DBIx :: Class做聯合?
- 6. DBIx :: Class和搜索
- 7. DBIx :: Class虛擬列?
- 8. DBIx :: Class使用DBIx :: Class包裝/重載列訪問器
- 9. DBIx :: Class和DBIx :: Abstract之間的區別?
- 10. DBIx :: Class :: Schema :: Loader ResultSource基類
- 11. Perl DBIx :: Class DateTime減法
- 12. DBIx :: Class has_one <-> might_have relationship
- 13. 遞歸遍歷DBIx :: Class關係
- 14. 使用dbix-class加入子查詢?
- 15. 可以使用DBIx :: Class創建表嗎?
- 16. DBIx :: Class :: Schema :: Loader安裝失敗
- 17. Mysql函數爲DBIx :: Class翻譯
- 18. Test :: DBIx :: Class的schema.conf是什麼樣的?
- 19. 如何在DBIx :: Class中使用DBD :: Proxy?
- 20. Perl DBIx :: Class遭遇對象Json
- 21. DBIx :: Class如何處理布爾值?
- 22. DBIx :: Class :: Row :: set_columns能做多少魔法?
- 23. 在DBIx :: Class中注入關係
- 24. 在DBIx :: Class中設置操作
- 25. DBIx :: Class如何爲SQLite啓用PRAGMA foreign_keys?
- 26. isJavaType(Class class)or isUserType(Class class)?
- 27. 如何使用Class :: DBI設置Oracle nls_date_format
- 28. Catalyst :: Plugin :: Authentication :: Store :: DBIC和Class :: DBI示例
- 29. Class :: DBI的未來是什麼?
- 30. Class :: DBI類似的庫爲PHP?
現在已經很晚了,但我從來沒有見過這種情況 - 你應該用'perl'標記它, – plusplus