我將動態模式下的DBIx::Class::Schema::Loader切換爲靜態。如何讓DBIx :: Class :: Schema :: Loader忽略非結果類?
但有一個問題,我的結果類與非結果類混淆。 Here's the specifics。
lib/BackPAN/Index.pm # main API
lib/BackPAN/Index/Dist.pm # result class
lib/BackPAN/Index/File.pm # result class
lib/BackPAN/Index/Release.pm # result class
lib/BackPAN/Index/Schema.pm # subclass of DBIC::Schema::Loader
lib/BackPAN/Index/Role/... # various roles
當我切換到靜態模式生成它得到該角色絆倒。
DBIx ::類::架構:: load_namespaces():嘗試load_namespaces() 類的背板::首頁::角色:: HasCache失敗 - 你確定這是一個真正的 結果類?
我被困在這個類的佈局。 BackPAN::Index::Dist
,File
和Release
都是公開記錄的。作爲查詢的結果,預計許多方法會返回它們。
我需要一種方法在靜態模式下使用DBIx::Class::Schema::Loader而BackPAN::Index::Dist
,File
和Release
作爲結果類。
我一直試圖讓DBIx::Class::Schema::Loader拼出生成的結果類,而不是依靠load_namespaces
來搜索子目錄。
理想情況下,我想生成的結果類是在自己的子目錄與Dist
,File
和Release
作爲子類更容易定製。但是,對模式的查詢必須返回自定義的子類。
是的,如果我硬編碼班級名單它的作品。麻煩的是,DBIC :: Schema :: Loader使Schema類。我如何從中獲得控制權? – Schwern
另外,如果有一種方法,我可以讓DBIC :: Schema :: Loader只做結果類而不是方便的模式。 – Schwern
Schema :: Loader假設一個空的名稱空間,它在其中生成所有類的類。修改生成的模式(以及其他類)不僅被支持,而且被假定,因爲它的目的只是爲了讓你開始。 –