My project has Mix aliases like this:
"ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
I’d like to skip the seeds.exs
in :test
(start with an empty db).
Here’s one way to do that:
# alias
"ecto.setup": &ecto_setup/1,
defp ecto_setup(_) do
case Mix.env() do
:test ->
Mix.Task.run("ecto.create", ["--quiet"])
Mix.Task.run("ecto.migrate_all", ["--quiet"])
_ ->
Mix.Task.run("ecto.create")
Mix.Task.run("ecto.migrate_all")
Mix.Tasks.Run.run(["priv/repo/seeds.exs"])
end
end
Is there a simpler way?