gpt4 book ai didi

elixir - 为 Mix 任务启动 Ecto(Mix.EctoSQL.ensure_started 不再工作)

转载 作者:行者123 更新时间:2023-12-04 01:43:56 25 4
gpt4 key购买 nike

我知道这个问题已经被问过了,答案总是单独的答案。

但是我看到 Mix.EctoSQL.ensure_started 提到了很多,这似乎是公认的方法。

然而,在 ecto_sql 3.1.2 中,此功能已被完全删除(参见 commit)。我不清楚为什么它已被删除。

所以总结一下这个问题:是否有一种可以接受的方式来启动 ecto,repo 并确保日志记录后端按预期工作而无需编写太多自定义代码?

最佳答案

目前接受的方法是使用

Mix.Task.run("app.start")

Mix.EctoSQL.ensure_started 是一个私有(private)函数,不能在 EctoSQL 之外使用。这种新方法是 recommended by Jose取而代之。

应该注意的是,这将启动您的整个应用程序(包括后台工作程序或您的应用程序通常会启动的任何其他内容),因此您可能希望修改您的 application.ex 文件以在以下情况下不启动那些由混合任务启动。

关于elixir - 为 Mix 任务启动 Ecto(Mix.EctoSQL.ensure_started 不再工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56126498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com