古いバージョン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 :: Class :: Relationship :: CascadeActions :: update():そのような列の説明は...にありません」
追加の列を必要とするスクリプトが独自のプロセスで実行されていると仮定します。あなたはこのようなことをすることができます:
my $rs = $schema->resultset('Auctions');
$rs->result_source->add_columns('description');
YourApp::Schema::Lots->add_columns('description');
YourApp::Schema::Lots->register_column('description');
もちろん、それは地球規模の変化です。列を追加した後、同じプロセス内の他のコードがdescription
クエリで列のフェッチを開始します。言うまでもなく、それはちょっと醜いです。