philomena/lib/philomena/release.ex
2021-12-26 19:16:21 -05:00

53 lines
1 KiB
Elixir

defmodule Philomena.Release do
@app :philomena
def migrate do
load_app()
for repo <- repos() do
{:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
end
end
def rollback(repo, version) do
load_app()
{:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version))
end
def update_channels do
start_app()
Philomena.Channels.update_tracked_channels!()
end
def verify_artist_links do
start_app()
Philomena.ArtistLinks.automatic_verify!()
end
def update_stats do
start_app()
PhilomenaWeb.StatsUpdater.update_stats!()
end
def clean_moderation_logs do
start_app()
Philomena.ModerationLogs.cleanup!()
end
def generate_autocomplete do
start_app()
Philomena.Autocomplete.generate_autocomplete!()
end
defp repos do
Application.fetch_env!(@app, :ecto_repos)
end
defp load_app do
Application.load(@app)
end
defp start_app do
Application.ensure_all_started(@app)
end
end