Elixir 如何在一个.exs脚本中运行多个mix phx.gen.html命令

Elixir 如何在一个.exs脚本中运行多个mix phx.gen.html命令,elixir,phoenix-framework,elixir-mix,Elixir,Phoenix Framework,Elixir Mix,我试图从脚本中混合使用许多phx.gen.html命令,但只执行第一个命令。我尝试了不同的方法,其中一些方法如下,但没有任何效果: Mix.Task.run "phx.gen.html", Parser.parse "Contacts Skype skypes user_id:references:users skype --parent user" Mix.Task.run "phx.gen.html", Parser.parse "Contacts Phone phones user_id:

我试图从脚本中混合使用许多phx.gen.html命令,但只执行第一个命令。我尝试了不同的方法,其中一些方法如下,但没有任何效果:

Mix.Task.run "phx.gen.html", Parser.parse "Contacts Skype skypes user_id:references:users skype --parent user"
Mix.Task.run "phx.gen.html", Parser.parse "Contacts Phone phones user_id:references:users number --parent user"
Mix.Task.run "phx.gen.html", Parser.parse "Contacts Address addresses user_id:references:users country state region city zip street house corp flat  --parent user"
===========

commands = [
  "Contacts Skype skypes user_id:references:users skype --parent user",
"Contacts Phone phones user_id:references:users number --parent user",
"Contacts Address addresses user_id:references:users country state region city zip street house corp flat  --parent user"]


for command <- commands do
  list = String.split(command, " ")
  list = ["phx.gen.html" | list]
  System.cmd("mix", list)
end


for command <- commands do
  list = String.split(command, " ")
  IO.inspect list
  Mix.Task.run "phx.gen.html", list
end
命令=[
“联系人Skype skypes用户\u id:引用:用户Skype--父用户”,
“联系人电话用户\u id:references:users number--parent user”,
“联系人地址地址用户_id:references:users国家/州/地区城市zip street house corp flat--家长用户”]
对于command,您可能必须在调用任务后再调用它

for command <- commands do
  list = String.split(command, " ")
  list = ["phx.gen.html" | list]
  System.cmd("mix", list)
  Mix.Task.reenable "phx.gen.html"
end
对于命令您可能必须在调用该任务后才能执行该任务

for command <- commands do
  list = String.split(command, " ")
  list = ["phx.gen.html" | list]
  System.cmd("mix", list)
  Mix.Task.reenable "phx.gen.html"
end

对于它没有帮助的命令,第一个命令被执行,控制台被挂起,直到我按ctrl+C键。实际上,它起作用了,我错误地输入了RENABLE作为RENABLE。除迁移文件外,所有东西都按错误的顺序编号,而不是按命令列表中的顺序编号。它们中的一些具有相同的编号,这意味着它们是在同一秒内创建的。这导致以后无法应用它们,我需要手动修复它们的编号以应用它们,您知道如何修复吗?我已通过在重新启用任务之前设置超时:timer.sleep(1000)来解决此问题,现在迁移具有唯一编号它没有帮助,第一个命令被执行,控制台被挂起,直到我按ctrl+C键。实际上,它起作用了,我错误地输入了RENABLE,因为RENABLE一切正常,除了迁移文件按错误的顺序编号,而不是按命令列表中的顺序编号。它们中的一些具有相同的编号,这意味着它们是在同一秒内创建的。这导致以后无法应用它们,我需要手动修复它们的编号以应用它们,您知道如何修复吗?我已通过在重新启用任务之前设置timeout:timer.sleep(1000)来解决此问题,现在迁移具有唯一编号