我正在从动态模式下使用DBIx::Class::Schema::Loader切换到静态模式。
但是有一个问题,我的结果类与非结果类混合在一起。 这是细节。
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::Class::Schema::load_namespaces(): 尝试 load_namespaces() 类 BackPAN::Index::Role::HasCache 失败 - 你确定这是一个真正的结果类吗?
我被这个班级布局困住了。BackPAN::Index::Dist
,File
并且Release
都是公开记录的。许多方法都希望将它们作为查询的结果返回。
我需要一种在静态模式下使用DBIx::Class::Schema::LoaderBackPAN::Index::Dist
while 的方法,File
并将Release
其用作结果类。
我一直在尝试让DBIx::Class::Schema::Loader拼出生成的结果类,而不是依靠load_namespaces
搜索子目录。
理想情况下,我希望生成的结果类位于它们自己的子目录中Dist
,File
并Release
作为子类以便于定制。但是,针对模式的查询必须返回自定义的子类。