如何在mix.exs中运行两次别名?

lar*_*ris 2 elixir-mix elixir

我正在尝试运行两个不同的脚本,v1_to_v2_migrator.exs和update_images.exs

defp aliases do
  ["ecto.reset": ["ecto.drop", "ecto.create", "ecto.migrate", "run priv/repo/v1_to_v2_migrator.exs", "run priv/repo/update_images.exs"]
Run Code Online (Sandbox Code Playgroud)

只运行第一个文件.我试图重新启用run但我无法逃避文件名.

"run 'priv/repo/v1_to_v2_migrator.exs'; run -e 'Mix.Task.reenable(:run)'"

给出了这个错误:

** (Mix) No such file: priv/repo/v1_to_v2_migrator.exs;

文件结尾处包含分号的位置.

Dog*_*ert 5

您可以像这样使用两次Mix.Task.rerun/2调用mix run:

["ecto.reset": [
  "ecto.drop",
  "ecto.create",
  "ecto.migrate",
  ~s|run -e 'Mix.Task.rerun("run", ["priv/repo/v1_to_v2_migrator.exs"]); Mix.Task.rerun("run", ["priv/repo/update_images.exs"])'|]]
Run Code Online (Sandbox Code Playgroud)