Запустите задачу Ecto for Mix (Mix.EctoSQL.ensure_started больше не работает) - PullRequest
1 голос
/ 14 мая 2019

Я знаю, что этот вопрос уже задавался, и ответы всегда были индивидуальными.

Однако я видел, что Mix.EctoSQL.ensure_started упоминается довольно часто, и кажется, что это приемлемый способ сделать это.

Однако с ecto_sql 3.1.2 эта функциональность была полностью удалена (см. commit ). Для меня не очевидно, почему он был удален.

Итак, чтобы подвести итог этого вопроса: есть ли приемлемый способ запустить ecto, репозиторий и убедиться, что бэкэнд ведения журнала работает, как и ожидалось, без написания слишком большого количества пользовательского кода?

1 Ответ

2 голосов
/ 14 мая 2019

В настоящее время принятый способ сделать это с помощью

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

Mix.EctoSQL.ensure_started была закрытой функцией, не предназначенной для использования вне EctoSQL.Этот новый подход , рекомендованный Хосе * 1006. * вместо него.

Следует отметить, что это запустит все ваше приложение (включая фоновые рабочие или что-нибудь еще, что ваше приложение обычно запускается), поэтомуВы можете изменить файл application.ex, чтобы он не запускался при запуске задачи смешивания.

...