zac
Migrations on Fly.io (triggered from MyApp.Release.migrate()) & what does ash.migrate do?
Has anyone set up their Ash Framework Postgres app deployment (and, most importantly, migration) on Fly.io?
I’m trying to figure out what I need to do for a safe deployment/migration.
From what I’ve deciphered on the Fly.io side, fly deploy will run MyApp.Release.migrate() during deployment… which appears to be a pretty generic Ecto template… installed prior to (or part of?) Ash setup (@zachdaniel just suspecting… shouldn’t this have been replaced with something Ash specific during config/gen?):
defmodule WasteWalk.Release do
@moduledoc """
Used for executing DB release tasks when run in production without Mix
installed.
"""
@app :waste_walk
def migrate do
load_app()
for repo <- repos() do
{:ok, _, _} = Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true))
end
end
...
end
And looking through the deps for ash.migrate it appears to be… more complicated than that. ![]()
So… wondering if anyone has done this and could share a solution. Otherwise, I’m guessing I’ll need to change the above, but not at all clear on what exactly I should be calling – let alone, upgrading the corresponding rollback etc., etc., functions.
First Post!
frankdugan3
There is a pretty detailed example in the AshPostgres docs.
Generally speaking, Ash leverages the existing Ecto migrations. The important difference is mainly around tenant migrations, which are run separately than the main migrations.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









