0
0

【Go】psqlコマンドを実行し、テストデータを作成する方法

Posted at

はじめに

DBに接続したテストを実行する前に、テストデータを作成したいケースに対応する方法を記事にします

フォルダ構成

こちらのrepositoriesフォルダのテストコードを参照ください
https://github.com/AppDeveloperMLLB/todo_app/tree/main/repositories

repositories/testdataにテストで実行するsqlファイルを格納しています
テストでsqlファイルを実行するのはmain_test.goとなります

実際のコード

実際のコードは、setupTestDataメソッドを参照してください。
(Githubのコードとは、一部、変えています)

cmd := exec.Command(
  "psql",
  "-h",
  "127.0.0.1",
  "-U",
  "test",
  "-d",
  "todo_db",
  "-f",
  "./testdata/createTable.sql")
cmd.Env = append(os.Environ(), "PGPASSWORD=password")
err := cmd.Run()

ポイントは、cmd.Env = append(os.Environ(), "PGPASSWORD=password")となります。
こちらを追加することで、パスワードなしで実行ができます。

実際にコマンドラインから実行するときも、PGPASSWORD=password psql -h 127.0.0.1 -U test -d todo_db -f ./db/createTable.sqlとすることで、パスワードを入力なしでsqlファイルを実行できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0