Does MariaDB support schema changes inside a transaction? MySQL doesn't support schema changes, inside a transaction so there's no way to roll back after during a failed migration involving schema changes.

This capability is supported by Postgres and SQLite. Any chance MariaDB supports it?
No.

"DDL statements (CREATE, ALTER, DROP) [...] cause an implicit COMMIT"

Thanks horse with no name.