Suppose we’ve got the following code in the router:
scope "/" do my_route_macro() end
and a macro that generates the route AST:
defmacro my_route_macro do quote do get "/my-route", MyController, :my_route end end
Now, when I run this locally:
$ mix phx.server
everything works fine, Phoenix displays the routes:
$ mix phx.routes
and matches the URL correctly.
But when I build and run a release:
$ mix release $ _build/path_to_my_release start
the given route is not present.
How can this be? Am I doing something wrong?