[#3213] `mix pleroma.database rollback` tweaks.
This commit is contained in:
parent
8f88a90ca3
commit
40d4362261
|
@ -231,19 +231,18 @@ def run(["rollback", version]) 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
|
||||||
|
|
Loading…
Reference in New Issue