What I reckon happens is that the migration file is run by the eval command outside the normal application startup system (or rather, without it). So it doesn’t load or start what is defined in mix.exs
. As you can see in the code, it loads your application manually, and it uses Ecto.Migrator.with_repo/3
that manually starts the Ecto repo(s). So adding :ssl
to mix.exs
won’t help.
Instead you could use Application.ensure_started(:ssl)
at the top of your migration and rollback functions and see if that helps.