在老版本的DBIx::Class
(不知道的版本号),下面用来工作:
my $rs = $schema->resultset('Auctions');
my $lots = $rs->search(
undef,
{ '+select' => 'description', '+as' => 'description' },
);
似乎这不是下DBIx::Class
现代版本的行更新工作。试图与更新
$auction->update({ description => '...'})
下DBIx::Class
0.08123提供了以下错误: “DBIx ::类::和:: CascadeActions ::更新():没有这样的列描述在......”
假设需要额外列的脚本正在其自己的进程中运行。你可以这样做:
my $rs = $schema->resultset('Auctions');
$rs->result_source->add_columns('description');
YourApp::Schema::Lots->add_columns('description');
YourApp::Schema::Lots->register_column('description');
当然,这是一个全球性的变化。添加列后,同一进程中的其他代码将开始在查询中获取description
列。更何况,这有点丑。