Resolves every migration directory that belongs to a gamend deployment.
A host application (the umbrella's gamend_host, or a downstream game) runs
core migrations plus its own, and core can be present either as an
umbrella app or as a dependency. Anything that walks
migrations — the host.* mix tasks, Gamend.Release, the admin runtime
page — must consider the same set, so the list lives here rather than being
copied per caller.
Mix and releases locate that set differently, so all/1 picks one strategy
or the other rather than merging them: under Mix the directories are paths in
the project tree, in a release they live inside each application's own
lib/<app>-<vsn>/priv. Returning both would hand Ecto the same migration
file under two names, and duplicate versions are a hard error.
Summary
Functions
Existing migration directories, absolute and de-duplicated.
The paths as --migrations-path <dir> arguments for the Ecto mix tasks.
Functions
Existing migration directories, absolute and de-duplicated.
Pass ensure_host: true (the mix tasks do) to create the host's own
priv/repo/migrations first, so Ecto does not fail on a missing path in a
project that has not written a migration yet.
The paths as --migrations-path <dir> arguments for the Ecto mix tasks.