`mix ecto.rollback` 和 `mix ecto.migrate` 命令的调试级日志记录
Debug level logging for `mix ecto.rollback` and `mix ecto.migrate` commands
目前,我正在寻找在 运行 mix
任务中添加 SQL 语句日志记录的方法。例如,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
,而是希望看到由 ecto
生成的准确的 SQL 语句,它命中了 DB。
有什么办法吗?
我检查了几个看起来相关的 SO 答案(例如 )。不幸的是,在我上面的案例中,他们没有帮助我。
提前致谢。
Ecto on 15 Jan 2017 添加了允许记录原始 SQL 的功能。从那时起就没有 Ecto 的发布。一旦有,或者你从 Github master 分支切换到使用 Ecto 版本,你可以将 --log-sql
传递给命令 ecto.migrate
和 ecto.rollback
以使其记录完整执行的查询。
$ mix ecto.migrate --log-sql
$ mix ecto.rollback --log-sql
目前,我正在寻找在 运行 mix
任务中添加 SQL 语句日志记录的方法。例如,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
,而是希望看到由 ecto
生成的准确的 SQL 语句,它命中了 DB。
有什么办法吗?
我检查了几个看起来相关的 SO 答案(例如
Ecto on 15 Jan 2017 添加了允许记录原始 SQL 的功能。从那时起就没有 Ecto 的发布。一旦有,或者你从 Github master 分支切换到使用 Ecto 版本,你可以将 --log-sql
传递给命令 ecto.migrate
和 ecto.rollback
以使其记录完整执行的查询。
$ mix ecto.migrate --log-sql
$ mix ecto.rollback --log-sql