2

我正在尝试使用 DBIx::Class::Schema::Loader 为 Catalyst 创建模型。我希望结果类有一个可以添加方法的基类。所以 MyTable.pm 继承自 Base.pm 继承自 DBIx::Class::core (默认)。

不知何故,我无法弄清楚如何做到这一点。我的创建脚本如下,谁能告诉我我做错了什么?该脚本可以创建我的模型,但是所有结果集类都直接从 DBIx::Class::core 继承,而没有我的 Base 类。

#!/usr/bin/perl

use DBIx::Class::Schema::Loader qw/ make_schema_at /;

#specifically for the entities many-2-many relation
$ENV{DBIC_OVERWRITE_HELPER_METHODS_OK} = 1;

make_schema_at(
    'MyApp::Schema',
    { 
        dump_directory          => '/tmp',
        debug                   => 1, 
        overwrite_modifications => 1, 
        components              => ['EncodedColumn'],  #encoded password column
        use_namespaces          => 1,
        default_resultset_class => 'Base'

    },
    [ 'DBI:mysql:database=mydb;host=localhost;port=3306','rob', '******' ],
);
4

1 回答 1

3

看起来您只想添加result_base_class(并且可能删除default_resultset_class)–</p>

env DBIC_OVERWRITE_HELPER_METHODS_OK=1 \
   dbicdump \
   -o result_base_class="FullNameOf::Base" \
   -o debug=1 \
   -o dump_directory=./tmp \
   -o components='["EncodedColumn"]' \
   -o use_namespaces=1 \
   -o overwrite_modifications=1 \
   "DBI:mysql:database=mydb;host=localhost;port=3306" \
   rob "******"

更新,相关文档:DBIx::Class::Schema::Loader::Base#result_base_class

于 2011-03-20T16:08:47.857 回答