問題タブ [go-gorm]

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.

0 投票する
1 に答える
5821 参照

orm - コレクションとその関係をフェッチする Gorm Golang

私は最近 Golang を使い始め、ORM として GORM を試してみることにしました。ほとんどの場合はうまく機能しますが、ほとんどの ORM では制限がある場合があります。幸いなことに、データベース/SQL と非常によく結びついているため、カスタム クエリを簡単に実行できます。

ゴームでこれを行う他の方法があるかどうか疑問に思っています:私は構造会社を持っています。会社は、電子メール、住所、電話と1対多の関係を持っています。gorm で次のコードを使用して、企業のリストとそれに対応する情報を取得します。gormのプリロード機能を利用しています。

これは完全に正常に機能します。ただし、プリロード機能なしでこれを達成する別の方法があるように感じます。何か案は?

0 投票する
2 に答える
18756 参照

go - GORM を使用して GO で完全な階層をプリロードする方法

複数の構造で構成される階層があります

私のDB作成は次のように定義されています:

すべてが明確で、次のように階層の「サブレベル」を 1 つだけプリロードするのに問題なく動作します。

また

GORM を使用して、ルート要素の 1 つで「First()」メソッドを呼び出して階層全体をプリロードする方法を探しています...関連するすべての「フィールド」を含む「エントリ」をロードしたいのですが、各「フィールド」にすべての「デコレータ」をプリロードする...

これは、いくつかの "Preload()" 関数を使用して実行することはできません:

iDB.Preload("child1").Preload("child2").First(root)「 」は、child1 と child2 の両方がルートの「葉」である場合に機能することを理解しています。

だから私の質問は次のとおりです: gorm でこれを行うことは可能ですか? はいの場合、完全な階層を再帰的にロードする最良の方法は何ですか?

ありがとう。よろしく

0 投票する
1 に答える
3657 参照

error-handling - gorm で接続障害を検出するにはどうすればよいですか?

gorm ORMを使用して、小さくてシンプルな Web アプリを書いています。

データベースは Web アプリケーションとは関係なく失敗する可能性があるため、Web アプリケーションを再起動せずにデータベースに再接続できるように、このケースに対応するエラーを識別できるようにしたいと考えています。

動機付けの例:

次のコードを検討してください。

  1. そのdb.Error != nil場合、エラーがデータベース接続の問題に起因しているかどうかをプログラムで判断するにはどうすればよいですか?

  2. 私の読書から、それは接続を表してgorm.DB いないgorm.Openことを理解しているので、データベース接続が失敗した場合に再接続または呼び出しを再発行することについて心配する必要さえありますか?

  3. Go でデータベース障害を処理するための一般的なパターンはありますか?

0 投票する
1 に答える
359 参照

postgresql - データベース列の値が常に 0 になるのはなぜですか?

go-gorm を使用して PostgreSQL データベースから値を取得しています。関連するコードを以下に示します。

UUID 文字列を に渡すとgetChip、正しい行が返され、常に である を除いてすべての値が正しいです。ちなみに が である行はありません。c.Pack_ID0Pack_ID0

これは pgAdminIII のスクリーンショットです。これで問題が明らかになることを願っています。

ここに画像の説明を入力

何がうまくいかないのかについてのアイデアはありますか? 私は完全に途方に暮れています、ここで...

0 投票する
6 に答える
37341 参照

orm - Gorm Golang orm アソシエーション

私はGORM ORMで Go を使用しています。私は次の構造体を持っています。関係は単純です。1 つのタウンには複数のプレイスがあり、1 つのプレイスは 1 つのタウンに属します。

今、私はすべての場所を照会し、それらのすべてのフィールドと対応する町の情報を取得したいと考えています。これは私のコードです:

サンプル データベースには次のデータがあります。

私はこれを受け取っています:

[{1 Place1 {0 }} {2 Mares Place2 {0 }}]

しかし、私はこのようなものを受け取ることを期待しています(両方の場所は同じ町に属しています):

[{1 Place1 {1 Town1}} {2 Mares Place2 {1 Town1}}]

どうすればそのようなクエリを実行できますか? Preloadsandを使用してみRelatedましたが成功しませんでした (おそらく間違った方法です)。期待した結果を得ることができません。

0 投票する
1 に答える
1970 参照

json - Go でインポートされた構造体のタグを設定する

私はgorm ( go o orm ) を使用して、JSON でエンコードされるデータベースからデータを取得しています。Gorm は、主キーと時間追跡用のデフォルトの構造体を提供します。この構造体の DeletedAt 属性は、JSON でエンコードされるべきではありません。

パスワードを出力しない小さな例を書きましたが、DeletedAt 属性は引き続き表示されます。

これは、スクリプトを実行した場合に得られる ourput です。

Alfred Rossi の例を変更して動作を模倣したところ、同じ結果が得られました。

0 投票する
1 に答える
3122 参照

database - GORM での日付によるフィルタリング

データベース内のレコードにアクセスするためにGORMを使用しています。ここで、削除されていないすべてのレコードを取得したいと考えています。つまり、属性 DeletedAt は NULL でなければなりません。

で次のコマンド チェーンを試しましたWHERE()が、結果が返されませんでした。

私のデータベースモデルは、次の構造体によって定義されています。

0 投票する
3 に答える
12570 参照

go - GORM を使用して CRUD 操作のエラーをチェックするにはどうすればよいですか?

GORMの公式ドキュメントには、レコードの存在をテストする方法が示されています。

これは、レコード作成のエラーを間接的にテストするために使用できますが、障害が発生した場合に有用な情報は報告されません。

のソース コードdb.Createを確認したところ、続行する前にエラーをチェックする何らかのスタック フレーム インスペクションがあるようです。つまり、トランザクション エラーは黙って失敗します。

  • これはバグですか、それとも何か不足していますか?
  • トランザクションの失敗をどのように通知することができますか?
  • 有用なデバッグ情報はどこで入手できますか?