LoginSignup
13
1

More than 1 year has passed since last update.

entで実行されたSQLを確認する

Last updated at Posted at 2022-12-05

はじめに

株式会社 RetailAI X Advent Calendar 2022 6日目の記事です。

最近、Go言語のORMであるentを触っています
自分が書いたプログラムがイメージ通りのSQLを発行できているのか確認したい時があったので、やり方を調べてみました

データ取得処理

通常時

client.User.Query().All(ctx)

clientの中身はこんな感じに作ります

SQLを確認したいとき

client.Debug().User.Query().All(ctx)

clientに対してDebug()を実行すると、新しいデバッグクライアントが返却され特定の操作に対して詳細なログを取得することができます

2022/12/03 01:34:58 driver.Query: query=SELECT DISTINCT "users"."id", "users"."name", "users"."email", "users"."password", "users"."created_at", "users"."updated_at" FROM "users" args=[]

上記のプログラムを実行すると、SQLがログに出力されて、実行時のパラメータがある場合はargsに中身が表示されます

参考

https://entgo.io/ja/docs/migrate/#%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E5%89%8A%E9%99%A4
https://pkg.go.dev/entgo.io/ent/examples/o2mrecur/ent#Client.Debug

最後に

明日7日目の記事は、@tanabe_shogoさんのNode.jsを使って、BigQueryからデータを取得するWebAPIを作るです!
お楽しみください!

13
1
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
13
1