// deploy.php
require 'recipe/phinx.php';
All options are in the environment variable phinx
specified as a dictionary
(instead of the phinx_path
variable).
All parameters are optional, but you can specify them with a dictionary (to change all parameters)
or by deployer dot notation (to change one option).
phinx.environment
phinx.date
phinx.configuration
N.B. current directory is the project directoryphinx.target
phinx.seed
phinx.parser
phinx.remove-all
(pass empty string as value)
phinx_path
Specify phinx path (by default phinx is searched for in $PATH, ./vendor/bin and ~/.composer/vendor/bin)
//deploy.php
$phinx_env_vars = [
'environment' => 'development',
'configuration' => './migration/.phinx.yml'
'target' => '20120103083322',
'remove-all' => ''
];
set('phinx_path', '/usr/local/phinx/bin/phinx');
set('phinx', $phinx_env_vars);
after('cleanup', 'phinx:migrate');
//Or set it for a specific server
server('dev', 'my-dev-server.local')
->user('user')
->set('deploy_path', '/var/www')
->set('phinx', $phinx_env_vars)
->set('phinx_path', '');
phinx:migrate
Migrate your databasephinx:rollback
Rollback your databasephinx:seed
Run seeds for your databasephinx:breakpoint
Set a breakpoint for your database (note that breakpoints are toggled on/off automatically by Phinx, so you will need to call this command once with theremove-all
option, then delete theremove-all
option from the recipe configuration and re-runphinx:breakpoint
to set the breakpoint to the current migration)
You can run all tasks before or after any
tasks (but you need to specify external configs for phinx).
If you use internal configs (which are in your project) you need
to run it after the deploy:update_code
task is completed.
For further reading see phinx.org. Complete descriptions of all possible options can be found on the commands page.