このプラグインは、マイグレーションをブラウザー経由で実行するGUIを提供します。
データベースへのマイグレーション処理をブラウザーから直接実行できるため、操作によりデータを削除または破壊する可能性があります。 サーバーの制約によりCUIが直接利用できない場合にのみ導入してください。 また、設置時は認証・認可を適切に設定して、許可のないユーザーが実行できないようにしてください。
- アプリケーション/プラグインのマイグレーション適用状況の一覧表示
- マイグレーションの適用/ロールバック
- マイグレーションファイルの表示
CakePHP Version | Plugin Version | Branch |
---|---|---|
5.x | 3.x | cake5 |
4.x | 2.x | cake4 |
3.x | 1.x | cake3 |
composer を使用してインストールできます。
以下のようにして、Composer経由でプラグインをCakePHPアプリケーションへ追加します:
composer require elstc/cakephp-migration-manager
アプリケーションの Application::bootstrap()
(src/Application.php
ファイルを開きます) へ、次の行を追加します:
\Cake\Core\Configure::write('Elastic/MigrationManager.baseController', \App\Controller\AppController::class);
$this->addPlugin('Elastic/MigrationManager');
NOTE: マイグレーションの必要がないときは、$this->addPlugin('Elastic/MigrationManager')
をコメントアウトしてプラグインを無効化しておくべきです。
MigrationManagerのコントローラーの基底となるクラスを指定します。デフォルトは \Cake\Controller\Controller
です。
プラグインの bootstrap で使用するので、必ずプラグインのロード前にセットしてください。
例) App\Controller\Admin\BaseController
を基底クラスにする場合:
Configure::write('Elastic/MigrationManager.baseController', \App\Controller\Admin\BaseController::class);
ブラウザから https://{your-app-host}/migration-manager/migrations
へアクセスすることで使用できます。
デフォルトではロールバック操作は行えないようになっています。
ロールバックを許可する場合は、アプリケーションの config/bootstrap.php
ファイルへ、次の行を追加します:
Configure::write('Elastic/MigrationManager.canRollback', true);