Do Ecto миграции из релиза приложения эликсир
Я сделал релиз своего приложения эликсира.
Он запускает контролируемую задачу, используя 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)
без запуска приложения?
1 ответ
Достаточно загрузить приложение с Application.load(:my_app)
иметь доступ к env - его не нужно запускать.
Подробное руководство по выполнению миграции с выпусками доступно в документации винокурни.