問題タブ [rose-db-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - DBIx クラス 行の仮想/非永続列
DBIx::Class::Row オブジェクトに、データベースに保存されない仮想的な列を追加することは可能ですか? Rose::DB::Object が非永続的な列を通じて提供するような機能を探しています http://search.cpan.org/dist/Rose-DB-Object/lib/Rose/DB/Object/Metadata.pm# nonpersistent_columns
perl - PERL | ハッシュ内の祝福されたオブジェクト| Rose :: DB :: Object
要素内の祝福された参照にアクセスできない理由を理解しようとしています:
これは私のモジュールです:
これは私がテストするために呼んでいる潜水艦です:
$ _-> aliasを使用すると、次のように返されます。
$ _-> alias-> aliasを使用すると、エラーが発生します。
Dumperの出力は、Aliasの値が祝福されていることを示しているため、少し混乱しています。これは、エラーメッセージと矛盾しているようです。
perl - .pl スクリプトを実行しようとすると RoseDB エラーが発生する
この .pl スクリプトを実行しようとすると:
私が得るエラーは次のとおりです。
パッケージ「abc::abcBill::Manager」を介してオブジェクトメソッド「update_abcBill」が見つかりません
を確認 しましabcBill::Manager
たが、make_manager
そこにメソッドがありますが、.pl スクリプトをコンパイルできません。
perl - get Manager呼び出しでクエリの変数を渡すにはどうすればよいですか?
単純なRoseDB呼び出しを行おうとしています。$id= xyz; $ name = "company";
クエリ全体を毎回書き込む必要はなく、文字列変数のように宣言して、呼び出すことができるようにすることができます。
ここで、$ query = qq {id => $ id、name => $ name};
助けてください
perl - get Manager 呼び出しの「クエリ」として文字列変数を渡す方法は?
私はこの簡単な呼び出しをしようとしています:
これは完全に正常に機能します。しかし、クエリに変数を渡すことは可能ですか? 何かのようなもの:
または似たようなもの。
perl - Perl と Rose::DB Postgres トランザクション
私は一日中この問題に苦しんでいます..髪をすべて失う前に、ここで質問すると思いました.
説明
Rose::DB および PostgreSQL 8.4 (Debian Linux) で Perl 5.10.1 を使用しています。
「trans」オブジェクトを 1 つのトランザクション ブロック内に変更する必要があります (つまり、変更はすべて書き込まれるか、ロールバックされます)。しかし、私はそれを機能させることができません。
AutoCommit の ON と OFF の両方で試してみました。
以下のサンプル コードでは、$db は、スクリプトの開始時に確立された Rose::DB 接続です (使用: my $db = My::DB->new;)。すべての Rose::DB オブジェクトは基本クラス (My::Base) から継承します。この基本クラスには、DB 接続用の継承可能なサブがあります。
DB 接続オブジェクト (My::DB) には、接続文字列と設定が含まれています。
シナリオ 1: AutoCommit オフ
AutoCommit 0 と RaiseError 1
ロールバック ケース: 動作します (変更は DB に書き込まれません)
コミットケース:失敗(DB に変更が書き込まれません)
シナリオ 2: AutoCommit オン
AutoCommit 1 と RaiseError 1
ロールバック ケース:失敗(変更が DB に書き込まれる)
コミットケース : Works (DB に書き込まれた変更)
あなたが提供できる助けやアドバイスは大歓迎です。
前もって感謝します。
perl - Perl Rose::DB非静的データソース登録
永続性の抽象化にRose::DBを使用するperlアプリケーションを作成していますが、構成ファイルの値を使用してRose::DBサブクラスを初期化する際に問題が発生しています。
ドキュメントには、次のようなハードコードされた例が常に示されています。
ただし、保守性のために、実行時に別の構成ファイルからこれらの値を入力したいと思います。
使用されている構成ファイル(Config :: General format)セクション:
My Rose :: DBサブクラス、初期化メソッド付き:
次に、メインスクリプトで、メソッドを1回呼び出して、すべてのデータソースを登録します。
私の永続オブジェクトはすべて、DBオブジェクトを次のように初期化するPersistentObjectパッケージから継承します。
ただし、これは期待どおりに機能しません。次のようなコンパイル時エラーが発生します。
問題は、Rose :: DBがコンパイル時に完全な構成データを持っていることを想定していることです。これは、構成ファイルから取得されるため、提供できません。
ここで何かが足りませんか?Rose :: DBオブジェクトを動的に初期化することはできませんか?
rose-db-object - $my_item->save が Rose::DB::Object で失敗するのはなぜですか?
データベーステーブル (PostgreSQL) にデータを簡単に追加しようとしています。最初は簡単なことすらできなかった
仕事に。コードのフィールドのスペルが、「モデル」コードのフィールドのスペルと異なっていることに気付きました。
しかし、今、これは機能していますが、試してみると:
例外がスローされるようです。これはすべて eval {...} 構造で発生しており、例外をキャッチして何が問題なのかを確認したいのですが、その方法がわかりません。
ここで「保存」のようなものが失敗するのはなぜですか? 私はすべてをチェックしましたが、すべてが正しいようです (もちろん!)。
また、スローされているように見える例外をキャッチするにはどうすればよいですか?
ありがとうございました!
postgresql - Rose::DB が Postgres シーケンスを認識していないようです
私のコードは簡単です:
コードを実行すると、「エラー: 列 "id" の null 値が null 以外の制約に違反しています」というエラー メッセージが表示されます。エラー メッセージは、エラーが含まれている行が "$item->save;" であることも示しています。ライン。
書き込もうとしている PostgreSQL データベース テーブルには、field1、field2、および field3 に加えて id フィールドがあります。id フィールドは次のように定義されます。
これは、このテーブルの Rose::DB 用に定義したクラスのコードに反映されています。このテーブルの id フィールドには、次のコードがあります。
ここで何が間違っている可能性がありますか?
奇妙なことは、これが今朝すべて機能していたことです。これにまったく影響を与えないはずのものを変更しましたが、機能しなくなりました。私は一日中髪を引っ張っています。Rose::DB が PostgreSQL にシーケンスから ID を作成させる必要があることは明らかです。しかし、これはしていないようです。この特定のテーブルとまったく同じように他のテーブルを更新するこの簡単な方法を使用し (必要な変更を加えて)、これらの他のテーブルに対して正常に機能します。しかし、ここでは単に機能していません。
これについて何か考えがある人はいますか?ネットを見ると、他の人が関連する問題を抱えているように見えますが、ネット上の他の投稿では解決策を見つけることができません.
誰か?