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": {
"cakephp/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 root folder:
$ bin/cake Migrations.migrations
The 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:
$ bin/cake Migrations.migrations create Initial
This will create a file under 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:
$ bin/cake Migrations.migrations migrate
If you added any steps to revert a migration in the down()
callback, you can execute this command and have that function executed:
$ bin/cake Migrations.migrations rollback
By executing this command you will have an overview of the migrations that have been executed and those still pending to be run:
$ bin/cake Migrations.migrations status
All the commands from above support the --plugin
or -p
option:
$ bin/cake Migrations.migrations status -p PluginName
All the commands from above support the --connection
or -c
option:
$ bin/cake Migrations.migrations migrate -c my_datasource