Can't override mix ecto.migrate with alias in child app under umbrella

Hi there. In my umbrella I have a child app with alias

"ecto.migrate": ["ecto.migrate", "ecto.dump"]

When I run mix ecto.migrate from that child app it works as I expect. However, when I run from parent umbrella - it seems to be ignoring alias and just runs migrations (without dumping structure.sql).

I can move that alias out from child app into parent umbrella mix.exs but that doesn’t seem clean to me.

I found this closed issue “aliases should resolve for child applications”. Which was closed by the commit “Ensure aliases are invoked for recursive tasks”. And test case in that commit totally makes sense to me where it tests that compile task just prints info.

However, as I see later on that test case was overriden with this change

1 Like