問題タブ [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.
mysql - int のスライスで「where in」を使用する方法
http://jinzhu.me/gorm/advanced.html#sql-builderから、単一の WHERE IN を使用して複数の行を更新(?)
し、スライスを単一に渡す?
ことができるはずWHERE IN (?,?,?,?)
です。
次のように jinzhu.me からの例: db.Exec("UPDATE orders SET shipped_at=? WHERE id IN (?)", time.Now, []int64{11,22,33})
. これは、それが機能していることを示す gorm のテストの例です。https://github.com/jinzhu/gorm/blob/021d7b33143de37b743d1cf660974e9c8d3f80ea/main_test.go#L449
しかし、これは私にとってはうまくいきません:
出力:
ハードコーディングしようとすると、同じ問題が発生します。
出力:
解決:
コードは実際にはまったくバグがありません。私はばかげていましたか - 実際のコードに必要以上の余分なパラメーターがありました。スタックオーバーフローのために正しく翻訳しませんでした。私の悪い。
go - gorm db インターフェイスを適切に定義するには?
タイプを使用するメソッドを単体テストしようとして*gorm.DB
いますが、データベースにアクセスせずにテストできるようにするインターフェイスを適切に定義する方法に興味があります。
ここに私がやりたいことの小さな例があります:
結果は次のとおりです。
どんな助けでも大歓迎です!
アップデート
これが私の実際のアプリケーションコードです:
結果は次のとおりです。
go - GORM pq 接続が多すぎます
私は自分のプロジェクトで GORM を使用しています。次のようなエラーが発生するまではすべて問題ありません。
私はデフォルト設定をそのまま使用しています。アプリケーションで多くのテスト リクエストを行った後、エラーが発生しました。
アプリケーションを再起動すると、エラーはなくなりました。そのため、クエリが完了した後、GORM 接続が解放されていないと考えています。私はGORMコードで十分に深くチェックしていません。誰かがすでにそれについて経験しているかもしれません。
go - GORM `gorm:"-"` でフィールドを無視しない
Jinzhu の GORM Package を使用して素晴らしいところで、私は現在この構造体を持っています:
しかし、私はGorillaのパッケージも使用しているので、フォームの値はすべて構造体に入力されますが、通常のフィールドがbcryptされるためプレーンテキストになるため、データベースに保存しSchema
たくありません。保存しない方法に関する情報フィールド。PasswordC
Password
GORM
PasswordC
go - Golang GORM スキャンしてマップする
私はGORMアプリケーションでクエリを実行していますが、現在、データベースから行をスキャンするために構造体を使用しています。しかし、問題は、クエリごとに別の構造体を作成する必要がある、互いに異なるクエリを実行する必要がある場合に発生します。
実際、データベースから取得したデータは気にせず、クライアントに転送しただけです。そのため、それぞれの構造体を作成するのは大変な作業です。それで、それをスキャンして map[string]interface{} または []map[string]interface{} にできればと考えています。では、GORMでそれを行うことは可能ですか?
また、列がインターフェースに変換されたときの別のことも考えています。{}日付はどうですか? 文字列に変換されますか?(および int、long、array などの他の型の場合も)
sqlite - Go GORMで外部キーの外部キーを表示する
このケースでこれを部分的に解決できました
残念ながら、Preload() 関数は、関連するオブジェクト セットをさらに深く掘り下げることでは機能しないようです。
明確にするために、次のモデルがあります。
新しい Room、Game、および Player オブジェクトを作成して新しいオブジェクトを作成すると、次のデータが返されます (json エンコード)。
しかし、preload() 関数を使用して構造を照会しようとすると、次の結果が得られます。
Players セクションが null になっていることに注意してください。部屋の登録と部屋のクエリ機能は次のとおりです。
go - Golang GORM といくつかのテーブルの関連付け
構造体:
I 挿入幅:
しかし、私が呼び出すと、代わりにgormConn.Find(&groups)
取得します[{id: 1, name: "Grrr", users: null}]
[{id: 1, name: "Grrr", users: [{id:1, name: "Usr"}]}]
また、SQL テーブルのgroups
列users
が見つかりません。(すべての構造体はgormConn.AutoMigrate
)
go - データベース接続を切り替えて、Golang でモデルに共有するにはどうすればよいですか? (レベル + ゴーム)
Revel + Gorm (または Golang の他の ORM) でhttps://github.com/thiagopradi/octopusのようなデータベース シャーディングをセットアップしたいと考えています。
セキュリティ フィルター(revel の param フィルターの後に追加されたカスタム フィルター) でdb 接続文字列を取得します。ここで、 dbフィルターと呼ばれる次のカスタム フィルターで db 接続を切り替える必要があります。
また、revel アプリケーションの起動時に db 接続プールを実装する必要があります。