JavaScriptを有効にしてください

【Elixir】EctoクエリをSQLにして取得する方法

 ·  ☕ 1 分で読めます

【Elixir】EctoクエリをSQLにして取得する方法

ElixirでEctoを使用している際に、EctoクエリからSQLを取得する方法メモ。
このテクニックはデバッグやパフォーマンスチューニングに非常に役立ちます。

サンプルコード

簡単なサンプルコードです。
必要であれば関数化してデバッグに役立ててください。

1
2
3
4
5
6
7
8
9
# Ectoクエリ
query = from u in "users", where: u.id == 1
# EctoクエリからSQLとパラメータを取得
{sql, params} = Ecto.Adapters.SQL.to_sql(:all, MyApp.Repo, query)

# SQL出力
IO.puts("SQL: #{sql}")
# パラメータを出力
IO.puts("Params: #{Enum.join(params, ", ")}")

まとめ

この方法を使用すると、ElixirとEctoで実行された最後のSQLクエリを簡単に取得できます。
これはデバッグやパフォーマンスの最適化に非常に役立つテクニックです。

Ecto

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer