Small PHP CLI script to patch DB. Supports .sql and .php patches.
Include as a requirement in your composer json. db-patcher.php will be available in your bin directory (usually vendor/bin)
Also needs configuration in json or php format. It tries to find db-patcher.json or db-patcher.php in your project directory etc or data/etc. But if you have specific vendor directory or you have configuration in other directories you should specify config file using command option --config
Example of PHP configuration file:
<?php
return array(
'db' => array(
'dbname' => 'dbname',
'user' => 'user',
'password' => 'password',
'host' => 'localhost',
'port' => '5432',
'charset' => 'UTF8'
),
'directory' => '../scripts/update/'
);
Example of JSON configuration file:
{
"db": {
"dbname": "dbname",
"user": "user",
"password": "password",
"host": "localhost",
"port": "5432",
"charset": "UTF8"
},
"directory": "../scripts/update/"
}
Usage: vendor/bin/db-patcher.php [masks] [options]
Parameters:
[masks] Filename masks of patches to apply whitespace delimited
Options:
-l, --list Just output list of patches
-n, --new Install new patches
-c, --changed Install changed patches
-e, --error Install error patches
-a, --all Install all patches (installed, errors, changed, new)
-i, --interactive Interactive mode
-m, --mark-installed Do not actually apply patch just mark as installed
-s, --stop-on-error Stop patches on error
-cf, --config [filename] Config json filename
-h, --help Output usage information