All migrations are wrapped in transaction by default so that they can be rolled back when they are failed.
You need to use disable_ddl_transaction
when you want to do something that can not excute inside a transaction. You can check Transactional Migrations
section of Migration document for example.