This is a pre-alpha version of a Database Migrations system for CakePHP 3.0. It is currently under development and should be considered experimental.
The plugin consists of a wrapper for the phinx migrations library.
You can install this plugin into your CakePHP application using
composer. For existing applications you can add the
following to your composer.json file:
"require": {
"lorenzo/migrations": "dev-master"
}And run php composer.phar update
You will need to add the following line to your application's bootstrap.php file:
Plugin::load('Migrations');Additionally, you will need to configure the default database configuration in your config/app.php file.
This plugins provides the Migrations shell that you can invoke from your application's src folder:
$ Console/cake Migrations.migrationsThe command above will display a list of available options. Make sure you read the official phinx documentation to understand how migrations are created and executed in your database.
Execute:
$ Console/cake Migrations.migrations create InitialThis will create a file under src/Config/Migrations that you can edit to complete the migration steps as documented in phinx's manual.
After modifying the migration file, you can run your changes in the database by executing:
$ Console/cake Migrations.migrations migrateIf you added any steps to revert a migration in the down() callback, you can execute this command and have that function executed:
$ Console/cake Migrations.migrations rollbackBy executing this command you will have an overview of the migrations that have been executed and those still pending to be run:
$ Console/cake Migrations.migrations statusAll the commands from above support the --plugin or -p option:
$ Console/cake Migrations.migrations status -p PluginNameAll the commands from above support the --connection or -c option:
$ Console/cake Migrations.migrations migrate -c my_datasource