release.ex (494B)
1 defmodule DailyTracker.Release do 2 @app :daily_tracker 3 4 def migrate do 5 load_app() 6 7 for repo <- repos() do 8 {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true)) 9 end 10 end 11 12 def rollback(repo, version) do 13 load_app() 14 {:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :down, to: version)) 15 end 16 17 defp repos do 18 Application.fetch_env!(@app, :ecto_repos) 19 end 20 21 defp load_app do 22 Application.load(@app) 23 end 24 end