Copy & Paste Engineer

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

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

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

サンプルコード

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

# 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