This plugin provides a GUI for database migrations via a web browser.
This plugin can be run migration from the web browser directly so some operation may deleting/breaking data, You install this only when CUI cannot be used due to server restrictions. Also, when installing, setup 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 be used by accessing https://{your-app-host}/migration-manager/migrations
from a browser.
In default, you can't call rollback action.
If you want to rollback, adding the following statement in your project's config/bootstrap.php
file:
Configure::write('Elastic/MigrationManager.canRollback', true);