live_svelte/example_project/lib/example/release.ex
Denis Donici 553ea1e466
Upgrade example project. fix remounting Svelte component (#206)
* remove old link in example page. add real time for ecto example

* upgraded tailwind 4 and latest phoenix for example

* fixed svelte component remounting on server events

* generate auto ids for duplicate components

* handle static svelte components in live view parent properly

* prepare release 0.17.3 release

* adjust the live_svelte version in mix.exs
2026-02-08 13:47:39 +02:00

31 lines
645 B
Elixir

defmodule Example.Release do
@moduledoc """
Tasks for running migrations in production releases.
Usage:
_build/prod/rel/example/bin/example eval "Example.Release.migrate()"
"""
@app :example
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
defp repos do
Application.fetch_env!(@app, :ecto_repos)
end
defp load_app do
Application.load(@app)
end
end