問題タブ [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 - Rose::DB::Object メタデータからテーブル (存在しない場合) を作成できますか?
CPAN ドキュメントで見つけるのに苦労しています --IF NOT EXISTS
手動で入力されたRose::DB::Object
メタデータからテーブル ( ) を作成する方法はありますか?
たまたま問題が発生した場合、SQLiteをエンジンとして使用しています。ありがとう!
perl - Rose::DB::Object sort_by RAND() が期待どおりに動作しないのはなぜですか?
私はそれを働かせることができません。私はこのクエリを使用しています:
Rose::DB::Object::Manager でデバッグをオンにすると、order 句が次のようになっていることがわかります。
それはどこt1.id
から来ているのですか?そして、どうすれば を正しいものに修正できるORDER BY
でしょRAND()
うか?
perl - RDBOを使用してTemplateToolkitでリストコンテキストを強制するにはどうすればよいですか?
些細な一意のIDを実行するTTプラグインがあります。
ここで、テンプレート呼び出しは単純です。
「データ」はRDBオブジェクトであり、ユーザーはその関係の1つです。関係に1つまたは複数の要素があるかどうかに関係なく、「。users」がPerlでリストを直接返すことを確認しました。
ただし、TTは単一要素リストの要素を返し、複数要素のリストは適切に返すようです。
これを調べたところ、「。list」を使用してリストコンテキストを強制できることがわかりました。
Data :: Dumperが明らかにしたように、これは単一要素リストの意図どおりには機能しません。
期待される代わりに
単一要素のリストであっても、オブジェクトのリストを取得するためのTTの他の簡単な方法はありますか?(1つのアプローチは関数を書き直すことですが、そうでないものは望ましくありません)
mysql - Rose::DB::Object と MySQL で NULL 日時を設定する
ここで間違っている可能性がありますが、ここには矛盾する基準があるようです。
MySQL は、格納された "0000-00-00 00:00:00" の日時を NULL と同等として扱います。(更新 - 日時が NOT NULL として定義されている場合のみ)
しかし、Rose::DB::Object は MySQL の DATETIME フィールドに DateTime を使用し、"0000-00-00" から null の DATETIME を設定しようとすると、DateTime モジュールで例外がスローされます。つまり、年 0、月 0、日 0 の DateTime オブジェクトを作成できません。これは、DateTime モジュールで例外がスローされるためです。
Rose::DB::Object::Metadata::Column::Datetime をチェックインしましたが、エントリの作成時または取得時に NULL DateTime を明示的に処理する方法がわかりません。
何か不足していますか?
つまり、Rose::DB::Object は NULL 日時 (MySQL) フィールドを処理できますが、DateTime (Perl モジュール) は処理できません。
サンプルコード:
RoseDB::dt_test モジュールは次のとおりです。
実行すると、「Invalid datetime: '0000-00-00' at tmp.pl line 8」というエラーが表示されます。
日付を「2010-01-01」に変更すると、期待どおりに動作します。
ついに NULL MySQL クエリの例を再作成することができました!
日時が「NOT NULL」で定義されているテーブル定義のように見え、次にMySQLの「偽のnull」を使用しようとすることが問題です。今は疲れすぎてこれで遊ぶことはできませんが、朝にテーブル構造を変更するとどうなるか見てみましょう.
perl - Rose :: DB :: Object :: Cachedメモリはさまざまなプロセスでキャッシュされていますか?
RDBOCオブジェクトはさまざまなプロセスでキャッシュされますか?私はそれをmod-perlで実行することを間違えています、そしてそれは(多くは)変わらないものにほとんど使用されるでしょうが、それは物事を考慮に入れます。
また、RDBOCを参照する関係は、直感的に必要なときにキャッシュを使用しますか?
perl - Rose :: DB::Objectを使用したSQLiteでのUTF8エンコードテキストの処理
私はRose::DB :: Object、SQLite、および中国語のテキストを使用しています。私のクラスは次のようになります。
レコードの保存に使用されるコード:
(Mojoliciousアプリ内から)データを表示するために使用されるコード:
デコード手順を削除するにはどうすればよいですか?代わりに、表示コードを次のようにしたいと思います。
perl - Rose::DB::Object::Manager と HTML テンプレート
Rose::DB::Object::Manager
データベースからデータを取得し、HTML::Template
レポートするために (get/iterate メソッド) を使用しています。
HTML レポートにはTMPL_LOOP
、データベース内のエントリを表示するための が必要です。
私の質問は、RDBOM の get/iterate メソッドを使用して配列参照を作成し、それを に渡す方法ですHTML::Template
。ありがとうございました。
perl - オブジェクト ID のリストを使用した Rose::DB::Object::Manager クエリ
配列またはハッシュを使用して Rose::DB::Object クエリ文字列を記述しようとしていますが、その方法がわかりません。配列に列挙されているリスト内の特定の ID に基づいて更新関数を作成しようとしています。残念ながら、クエリを作成するためにフィルタリングする一意のキーが他にないため、特定の ID をクエリする必要があります。
基本的に、私はプログラムで次のように書こうとしています:
これは私がこれまでに持っているコードですが、私がやろうとしていることをうまく達成できませんでした:
./test.pl
これで、スクリプトは無期限に出力なしでハングします。
このスクリプトは 60 秒ごとに cron を介して実行され、大きなセットを返す可能性があるため、DB::Manager を反復処理してレコードごとに DB 呼び出しを行うことを避けようとしています。