This plugin provides a GUI for database migrations via a web browser.
This plugin allows running migrations directly from a web browser, which means some operations may delete or break data. You should install this only when CLI cannot be used due to server restrictions. Also, when installing, set up authentication and authorization appropriately so that unauthorized users cannot execute it.
- List of Application / Plugins migration statuses
- Run migrate / rollback a migration
- Show migration file
CakePHP Version | Plugin Version | Branch |
---|---|---|
5.x | 3.x | cake5 |
4.x | 2.x | cake4 |
3.x | 1.x | cake3 |
You can install this plugin into your CakePHP application using composer.
The recommended way to install composer packages is:
composer require elstc/cakephp-migration-manager
Load the plugin by adding the following statement in your project's Application::bootstrap()
(open src/Application.php
):
\Cake\Core\Configure::write('Elastic/MigrationManager.baseController', \App\Controller\AppController::class);
$this->addPlugin('Elastic/MigrationManager');
NOTE: If you don't need to migrate, you should comment out $this->addPlugin('Elastic/MigrationManager')
to disable the plugin.
Specify the base class of MigrationManager controller. The default is \Cake\Controller\Controller
.
Be sure to set it before loading the plugin because it will be used in the bootstrap of the plugin.
eg)Specify the base class to App\Controller\Admin\BaseController
:
Configure::write('Elastic/MigrationManager.baseController', \App\Controller\Admin\BaseController::class);
You can use this plugin by accessing https://{your-app-host}/migration-manager/migrations
from a browser.
By default, you can't call the rollback action.
If you want to enable rollback, add the following statement to your project's config/bootstrap.php
file:
Configure::write('Elastic/MigrationManager.canRollback', true);