diff options
Diffstat (limited to 'lib/chessh/release.ex')
-rw-r--r-- | lib/chessh/release.ex | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/chessh/release.ex b/lib/chessh/release.ex new file mode 100644 index 0000000..82f1807 --- /dev/null +++ b/lib/chessh/release.ex @@ -0,0 +1,18 @@ +defmodule Chessh.Release do + @app :chessh + + def migrate do + for repo <- repos() do + {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true)) + end + end + + def rollback(repo, version) do + {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version)) + end + + defp repos do + Application.load(@app) + Application.fetch_env!(@app, :ecto_repos) + end +end |