`mix ecto.rollback` 和 `mix ecto.migrate` 命令的调试级日志记录

Debug level logging for `mix ecto.rollback` and `mix ecto.migrate` commands

目前,我正在寻找在 运行 mix 任务中添加 SQL 语句日志记录的方法。例如,mix ecto.rollbackmix 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,而是希望看到由 ecto 生成的准确的 SQL 语句,它命中了 DB。 有什么办法吗?

我检查了几个看起来相关的 SO 答案(例如 )。不幸的是,在我上面的案例中,他们没有帮助我。 提前致谢。

Ecto on 15 Jan 2017 添加了允许记录原始 SQL 的功能。从那时起就没有 Ecto 的发布。一旦有,或者你从 Github master 分支切换到使用 Ecto 版本,你可以将 --log-sql 传递给命令 ecto.migrateecto.rollback 以使其记录完整执行的查询。

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