Examples
February 9, 2017 ยท View on GitHub
Generate a Migration File
Creating a new migration file.
cake Migrations.migration generate
If you want specify the migration name you can use --name parameter.
cake Migrations.migration generate --name 'the migration name'
If you want import all tables regardless if it has a model or not you can use -f (force) parameter.
cake Migrations.migration generate -f
If you want to force the comparison between schema file and database you can use --compare parameter.
cake Migrations.migration generate --compare
Note: The comparison can be made on a double-handed path. Between the (modified) schema and the database, and also between the (modified) database and the schema.
If you want to show the migration preview you can use --preview parameter.
cake Migrations.migration generate --preview
If you want to prevent the migration preview you can use --no-preview parameter.
cake Migrations.migration generate --no-preview
Running All Pending Migrations
Get all pending changes into your database run.
cake Migrations.migration run all
Resetting Your Database
Reset your database to the initial state of your first migration run.
cake Migrations.migration run reset
Downgrade to Previous Version
Downgrades your database to the previous migration.
cake Migrations.migration run down
Upgrade to Next Version
Applies the next migration to your database.
cake Migrations.migration run up
Running Migrations for Plugins
Running a migration of a plugin you can use the plugin option.
cake Migrations.migration run all --plugin Users
Getting the Status of Available/Applied Migrations
Gets the status of all migrations.
cake Migrations.migration status
Adding a specific datasource
Will set the datasource and will run the migrations in this datasource.
cake Migrations.migration run --connection my_data_source
Skipping certain migrations
Will skip one migration.
cake Migrations.migration run all --skip 1458963215_articles_table
You can skip many migrations using comma to separate, for example.
cake Migrations.migration run all --skip 1458963215_articles_table,1457412585_users_table
Remember this migrations will be set as executed.
Jumping to certain migrations
If you want to jump to a certain migration, you can use --jump-to or -j + migration name as in the example below.
cake Migrations.migration run all -j 1458963215_articles_table
Remember all migrations before this will be set as executed.