Extended Migration class not found while migrating

I have my own migration class extending yii\db\Migration for some common functionality.

This works as expected in the basic template, however in the advanced template, I get the following while migrating: Exception 'Error' with message 'Class 'app\console\Migration' not found'

My migration: https://gist.github.com/MacroMan/c9dc9aed5ef2f6c747611fd366bcddd2
Migration class: https://gist.github.com/MacroMan/4b1e93605dc2e88ef68aa3b0d0496b84

I have setup namespacing for migrations in the config: 'migrationNamespaces' => ['app\console\migrations']

Here is the full error:
vagrant@vagrant:/vagrant$ php yii migrate
Yii Migration Tool (based on Yii v2.0.37)

Total 1 new migration to be applied:
        m200818_095117_create_users_table

Apply the above migrations? (yes|no) [no]:y
*** applying m200818_095117_create_users_table
Exception 'Error' with message 'Class 'app\console\Migration' not found'

in /vagrant/console/migrations/m200818_095117_create_users_table.php:11

Stack trace:
#0 /vagrant/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(804): require_once()
#1 /vagrant/vendor/yiisoft/yii2/console/controllers/MigrateController.php(197): yii\console\controllers\BaseMigrateController->includeMigrationFile()
#2 /vagrant/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(726): yii\console\controllers\MigrateController->createMigration()
#3 /vagrant/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(202): yii\console\controllers\BaseMigrateController->migrateUp()
#4 [internal function]: yii\console\controllers\BaseMigrateController->actionUp()
#5 /vagrant/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
#6 /vagrant/vendor/yiisoft/yii2/base/Controller.php(180): yii\base\InlineAction->runWithParams()
#7 /vagrant/vendor/yiisoft/yii2/console/Controller.php(179): yii\base\Controller->runAction()

I have triple checked, and all my files have the correct namespaces and are in the correct location.

Am I making some silly mistake? Something I’m overlooking?

Actually it seems autoloading for my entire project isn’t working. I’ve only just started, so I’ll start again and see how I get on.