Ошибка приложения Umbrella при попытке создать миграцию с помощью ecto elixir

#migration #elixir #ecto

#миграция #elixir #ecto

Вопрос:

Я пытаюсь создать миграцию с помощью команды mix ecto.gen.migration <migration_name> и получаю сообщение об ошибке:

 Cannot run task "ecto.gen.migration" from umbrella application
  

Почему я получаю эту ошибку?

Комментарии:

1. Я предполагаю, что вы пытаетесь запустить эту команду с верхнего уровня umbrella. Зайдите в каталог одного из ваших приложений ( $UMBRELLA/apps/foo ), и вы сможете запустить его там.

Ответ №1:

Для приложений umbrella вам необходимо явно запускать миграции внутри приложения, в котором находится репозиторий. Это связано с тем, что в приложениях umbrella у вас может быть несколько приложений, все с несколькими репозиториями, поэтому генератор не будет знать, для какого приложения его запускать, поэтому вам придется запускать его в этом приложении.

 cd apps/my_app_name amp;amp; mix ecto.gen.migration create_users