【发布时间】:2019-11-13 19:11:22
【问题描述】:
在 mix 文件中的别名中。如果我们这样定义迁移命令:
defp aliases do
[
"ecto.migrate": [
"ecto.migrate data/priv/repo/migrations",
"ecto.migrate --migrations-path apps/al/priv/repo/migrations"
]
]
如果我们运行mix ecto.migrate。只有第一个命令被执行,第二个被忽略。
我知道 mix 不允许两次运行相同的任务。而且我认为Mix.task.rerun or reenable 不会在这里工作,因为它不是自定义任务。
有什么办法可以覆盖它,这样两个命令都会执行吗?
【问题讨论】:
-
当然,这是一个自定义任务,因此
Mix.task.rerun可以工作。ecto任务没有什么特别之处,它们与你的任务相同:) -
@AlekseiMatiushkin 感谢您的建议。我试过
Mix.task.rerun "ecto.migrate --migration_path"。但它给了task not defined error。您能否请您详细说明在答案中使用它的正确方法。谢谢
标签: elixir phoenix-framework elixir-mix