[#3213] mix pleroma.database rollback tweaks.

This commit is contained in:
Ivan Tashkinov 2021-02-23 18:11:25 +03:00
parent 8f88a90ca3
commit 40d4362261

View File

@ -231,19 +231,18 @@ defmodule Mix.Tasks.Pleroma.Database do
re = ~r/^#{version}_.*\.exs/ re = ~r/^#{version}_.*\.exs/
path = Ecto.Migrator.migrations_path(repo) path = Ecto.Migrator.migrations_path(repo)
with {:find, "" <> file} <- {:find, Enum.find(File.ls!(path), &String.match?(&1, re))}, with {_, "" <> file} <- {:find, Enum.find(File.ls!(path), &String.match?(&1, re))},
{:compile, [{mod, _} | _]} <- {:compile, Code.compile_file(Path.join(path, file))}, {_, [{mod, _} | _]} <- {:compile, Code.compile_file(Path.join(path, file))},
{:rollback, :ok} <- {:rollback, Ecto.Migrator.down(repo, version, mod)} do {_, :ok} <- {:rollback, Ecto.Migrator.down(repo, version, mod)} do
{:ok, "Reversed migration: #{file}"} {:ok, "Reversed migration: #{file}"}
else else
{:find, _} -> {:error, "No migration found with version prefix: #{version}"} {:find, _} -> {:error, "No migration found with version prefix: #{version}"}
{:compile, e} -> {:error, "Problem compiling migration module: #{inspect(e)}"} {:compile, e} -> {:error, "Problem compiling migration module: #{inspect(e)}"}
{:rollback, e} -> {:error, "Problem reversing migration: #{inspect(e)}"} {:rollback, e} -> {:error, "Problem reversing migration: #{inspect(e)}"}
e -> {:error, "Something unexpected happened: #{inspect(e)}"}
end end
end) end)
IO.inspect(result) shell_info(inspect(result))
end end
end end
end end