diff --git a/lib/music_library/release.ex b/lib/music_library/release.ex index 21cba2c2..44d09edb 100644 --- a/lib/music_library/release.ex +++ b/lib/music_library/release.ex @@ -13,6 +13,12 @@ defmodule MusicLibrary.Release do end end + def vacuum do + load_app() + + Ecto.Migrator.with_repo(MusicLibrary.Repo, fn repo -> repo.vacuum() end) + end + def rollback(repo, version) do load_app() {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version)) diff --git a/rel/overlays/bin/vacuum b/rel/overlays/bin/vacuum new file mode 100755 index 00000000..e3e1da9b --- /dev/null +++ b/rel/overlays/bin/vacuum @@ -0,0 +1,5 @@ +#!/bin/sh +set -eu + +cd -P -- "$(dirname -- "$0")" +exec ./music_library eval MusicLibrary.Release.vacuum diff --git a/rel/overlays/bin/vacuum.bat b/rel/overlays/bin/vacuum.bat new file mode 100755 index 00000000..f891bc91 --- /dev/null +++ b/rel/overlays/bin/vacuum.bat @@ -0,0 +1 @@ +call "%~dp0\music_library" eval MusicLibrary.Release.vacuum