Using Ecto schemas directly in migrations is a huge mistake. I hate my past self for doing it. Every time you modify a schema, all of your past migrations break.
I've since switched to using schema-less queries in migrations, but I'm starting to be of the mind that migrations should just use raw SQL fragments...