2017-05-02 9 views
1

現在、mixタスクの実行中にSQL文のロギングを追加する方法を探しています。たとえば、mix ecto.rollbackmix ecto.migrate出力は有益なコマンド:`mix ecto.rollback`と` mix ecto.migrate`コマンドのデバッグレベルのロギング

... 
13:45:53.016 [info] == Running Repo.Migrations.AddAmountToUserResources.change/0 backward 
13:45:53.016 [info] alter table user_resources 
... 

しかし代わりの神秘的なalter table user_resources私はDBに当たるectoによって生成された正確なSQL-文を見てみたいと思います。 これを行う方法はありますか?

SOの回答を確認しました。これは関連性があります(Disable Elixir Ecto Debug outputなど)。残念ながら、彼らは私の場合には私を助けませんでした。 ありがとうございます。

答えて

3

Ecto on 15 Jan 2017にraw SQLを記録できる機能が追加されました。それ以来、Ectoのリリースはありませんでした。 Github masterブランチからEctoのバージョンを使用したら、--log-sqlをコマンドecto.migrateecto.rollbackに渡して、実行された完全なクエリをログに記録することができます。 {:エクト、gitの: "gitの://github.com/elixir-ecto/ecto.git"、オーバーライド:真} ``私のmix.exs`に、私の後に私は `追加した

$ mix ecto.migrate --log-sql 
$ mix ecto.rollback --log-sql 
+0

依存関係を更新しています。 'mix ecto.migrate --log-sql'は望ましいデバッグ文を表示します。あなたの答えは、その機能がリリースされた後も有効であると思います。ありがとう。 – sashaegorov

関連する問題