現在、Go で SQL データベース (Postgres および Mysql) 用のテスト プログラムを作成しています。パッケージの「_」オプションについてはよくわかりませんが、使用しています(以下を参照)。
私ができるようにしたいのは、一度コンパイルして、1 つの RDBMS と複数の RDBMS に対して複数の SQL ドライバーを使用し、プログラムを実行するときに、使用するドライバーと RDBMS を選択することです。それが可能かどうかはわかりません。現在、1 つの Postgres と 1 つの Mysql ドライバーでコンパイルし、実行時にどちらを使用しているかを選択します (Postgres/Mysql)。これで問題なく動作しますが、どのドライバーがコンパイルされたかを覚えておく必要があります。1 つの RDBMS に対して複数のドライバーを使用してコンパイルし、実行時に使用するドライバーを選択できるとよいでしょう。それは不可能だと思います。あるいは、コンパイル時にどのドライバを使用するかを選択し、実行時にどのドライバが使用されているかを知ることができるとよいでしょう。これらの機能のいずれかがなければ、たとえばテストすることができます。
特定のドライバーを選択するコンパイラ オプションを使用して、実行時にどのドライバーが使用されているかを知ることは可能ですか? 別の方法として、これを示すようにプログラムを編集することは明らかです。
インポートの例は次のとおりです。
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
////_ "github.com/lib/pq"
_ "github.com/lxn/go-pgsql"
........