philomena/lib/philomena/release.ex

54 lines
1 KiB
Elixir
Raw Normal View History

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
2020-10-26 17:01:29 -04:00
def update_channels do
start_app()
Philomena.Channels.update_tracked_channels!()
end
def verify_artist_links do
2020-10-26 17:01:29 -04:00
start_app()
Philomena.ArtistLinks.automatic_verify!()
2020-10-26 17:01:29 -04:00
end
def update_stats do
start_app()
PhilomenaWeb.StatsUpdater.update_stats!()
end
2021-11-08 11:41:13 +01:00
def clean_moderation_logs do
start_app()
Philomena.ModerationLogs.cleanup!()
end
2021-12-26 19:16:21 -05:00
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
2020-10-26 17:01:29 -04:00
defp start_app do
Application.ensure_all_started(@app)
end
end