Current section

Files

Jump to
condo lib mix tasks condo.rollback.ex
Raw

lib/mix/tasks/condo.rollback.ex

defmodule Mix.Tasks.Condo.Rollback do
use Mix.Task
import Mix.Ecto
@shortdoc "Rollsback the latest migration for each tenant."
def run(args) do
no_umbrella!("condo.rollback")
repos = parse_repo(args)
Enum.each(repos, fn repo ->
Ecto.Migrator.with_repo(repo, fn repo ->
stream = repo.stream(repo.tenant_ids)
repo.transaction(fn ->
Enum.each(stream, &Condo.rollback_tenant(repo, &1))
end)
end)
end)
end
end