【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クエリを簡単に取得できます。 これはデバッグやパフォーマンスの最適化に非常に役立つテクニックです。