2

我已经发布了我的 elixir 应用程序。
当应用程序启动时,它开始使用 DB 运行受监督的任务。

未迁移数据库时,任务保持错误,应用程序终止。

我阅读了http://blog.firstiwaslike.com/elixir-deployments-with-distillery-running-ecto-migrations/https://hexdocs.pm/distillery/running-migrations.html,并尝试实现以下迁移功能他们,但失败了,因为需要启动应用程序来加载应用程序的配置,这会使命令终止。

当我在Application.get_all_env(:my_app)没有启动我的应用程序的情况下运行时,它返回空列表[]。无论如何都可以在Ecto.Migrator.run(MyApp.Repo, path, :up, all: true)不启动应用程序的情况下运行?

4

1 回答 1

3

加载应用程序Application.load(:my_app)以访问环境就足够了 - 它不需要启动。

distillery 文档中提供了有关使用发行版运行迁移的详细指南。

于 2017-04-07T06:59:31.517 回答