我已经发布了我的长生不老药申请 当应用程序被启动时,它开始使用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)
?
答案 0 :(得分:3)
使用Application.load(:my_app)
加载应用程序以访问env就足够了 - 它不需要启动。
有关使用版本运行迁移的详细指南,请参见distillery documentation。