問題タブ [sqlx]

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 に答える
430 参照

postgresql - sqlx.Connect() が docker alpine:latest でスタックする

次のコードに減らすことができたという問題があります。

コードとその他の説明を含むレポを次の場所に設定しました。

https://github.com/mraxus/mystery-golang-alpine

上記のプログラムと postgres db の両方が別のコンテナーにある docker イメージ (ここではgolang:latest) throughtで有効な DB url を使用してこの Go コードをビルドして実行すると、プログラムは期待どおりに実行されます。docker-compose

docker-composeただし、ベース イメージを使用して同じセットアップ () で同じプログラムを実行するとalpine:latest、プログラムは sqlx.Connect() でスタックします。

これがなぜなのかわかりません。あなたは知っていますか?私はプロジェクトをセットアップして、他の人が私と同じ問題を再現して取得できるかどうかを確認しました。

https://github.com/mraxus/mystery-golang-alpine

この問題を解決するのに役立ついくつかの洞察を聞くのが大好きです.

私のシステムの詳細:

  • macOS 10.12.6 (シエラ、MBP Mid 2015 15 インチ)
  • ドッカー 17.06.1 1-ce-mac24
0 投票する
0 に答える
586 参照

go - jmoiron/sqlx、...interface{}、ボイラープレートの抽象化

少し「賢く」なり、ボイラープレートSQLコードの一部を抽象化しようと思いました(sqlxを使用 - https://github.com/jmoiron/sqlx)。アイデアは、結果を処理するための関数ポインターをコードにフィードし、行を生成する SQL 文字列と引数を渡すことです。たまたま、「sqlArgs インターフェイス」のものを削除すれば、コードは正常に機能しますが、「より賢い」形式ではステートメントでエラーが発生します

sql: Exec 引数 $1 を変換しています タイプ: サポートされていないタイプ []interface {}、インターフェイスのスライス

ここに 2 つのバージョンがあります。最初のバージョンではエラーが発生し、2 番目のバージョンでは機能しますが、パラメーター化されていません。

アイデアは、コードを次のように呼び出すことです。

私のコードは実際には呼び出しから呼び出しへと userID を通過するのではなく、SQL パッケージが処理できない []interface{} を通過すると思います。しかし、それについてはよくわかりません。いずれにせよ、このアイデアを実現する方法はありますか? ありがとう。