【发布时间】:2012-12-27 08:07:38
【问题描述】:
我正在从在动态模式下使用 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::Class::Schema::load_namespaces():尝试 load_namespaces() 类 BackPAN::Index::Role::HasCache 失败 - 你确定这是一个 真正的结果类?
我被这个班级布局所困扰。 BackPAN::Index::Dist、File 和 Release 均已公开记录。许多方法都希望将它们作为查询的结果返回。
我需要一种在静态模式下使用DBIx::Class::Schema::Loader 的方法,而BackPAN::Index::Dist、File 和Release 用作结果类。
我一直试图让DBIx::Class::Schema::Loader 拼出生成的结果类,而不是依靠load_namespaces 来搜索子目录。
理想情况下,我希望生成的结果类位于它们自己的子目录中,Dist、File 和 Release 作为子类以便于定制。但是,针对模式的查询必须返回自定义的子类。
【问题讨论】:
标签: perl dbix-class