#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