migrate
Runs the migration.
Under transactional - the default - a transaction is already open and the row recording this migration goes into it too, so throwing from here leaves the database exactly as it was. Without it, every statement stands on its own and what has already run has already run.
Parameters
session
The session the run holds, in a transaction or not according to transactional.