You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The default elixir buildpack tries to run migrations during the docker build. I might be missing some common use case, but I can't imagine wanting to run migrations during the image building. I checked a few other languages, and they don't seem to have similar behavior.
To reproduce
Create a new phoenix app (assuming elixir and phoenix are installed):
mix phx.new hello
cd hello
nixpacks build ./
# output
=> ERROR [12/14] RUN mix ecto.migrate 0.5s
------
> [12/14] RUN mix ecto.migrate:
0.211 warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running "locale" in your shell)
0.473 ** (RuntimeError) environment variable DATABASE_URL is missing.
0.473 For example: ecto://USER:PASS@HOST/DATABASE
0.473
0.473 /app/config/runtime.exs:26: (file)
0.473 (stdlib 4.3.1.2) erl_eval.erl:748: :erl_eval.do_apply/7
0.473 (stdlib 4.3.1.2) erl_eval.erl:492: :erl_eval.expr/6
0.473 (stdlib 4.3.1.2) erl_eval.erl:136: :erl_eval.exprs/6
0.473 (elixir 1.14.5) lib/code.ex:425: Code.validated_eval_string/3
------
Dockerfile:27
--------------------
25 | RUN mix compile
26 | RUN mix assets.deploy
27 | >>> RUN mix ecto.migrate
28 | RUN mix run priv/repo/seeds.exs
29 |
--------------------
ERROR: failed to solve: process "/bin/bash -ol pipefail -c mix ecto.migrate" did not complete successfully: exit code: 1
Error: Docker build failed
Don't run migrations and seeds during the build step. Maybe not at all. Python ran migrations in the start step which might make sense, but I'm not sure what the best behavior is.
Environment
Mac OS Sonoma 14.4
Nixpacks v1.21.2
The text was updated successfully, but these errors were encountered:
Is there an existing issue for this?
Describe the bug
The default elixir buildpack tries to run migrations during the docker build. I might be missing some common use case, but I can't imagine wanting to run migrations during the image building. I checked a few other languages, and they don't seem to have similar behavior.
To reproduce
Create a new phoenix app (assuming elixir and phoenix are installed):
The following nixpacks.toml fixes this:
Expected behavior
Don't run migrations and seeds during the build step. Maybe not at all. Python ran migrations in the start step which might make sense, but I'm not sure what the best behavior is.
Environment
Mac OS Sonoma 14.4
Nixpacks v1.21.2
The text was updated successfully, but these errors were encountered: