This components is based on Phalcon Devtools and provides a really cool console to migrate your databases based on your models metadatas. Also, you could add your own commands.
- PHP >= 5.5
- Phalcon >= 3.0.0
Install composer in a common location or in your project:
curl -s http://getcomposer.org/installer | phpCreate the composer.json file as follows:
{
"require": {
"sachoo/phalcon-console": "~1.*"
}
}Run the composer installer:
php composer.phar installIf it not exists yet, create a console binary script at the root of your project. If you need an example, you can copy console.example.php from sachoo/phalcon-console component:
cp vendor/sachoo/phalcon-console/console.example.php console.phpTo enable the commands you want, those you've wrote, and those from community, you have to add a new array on your config:
'commandsToEnable' => [
\Phalcon\Commands\Builtin\Info::class,
\Phalcon\Commands\Builtin\Enumerate::class,
\Phalcon\Commands\Builtin\Migration::class,
\Phalcon\Commands\Builtin\ClearCache::class,
\Commands\MyCommand::class
],Also, you have to include your boostrap on line 12 properly
require __DIR__ . '/app/bootstrap_cli.php';To get a list of available commands just execute following:
./console.phpThis command should display something similar to:
Available commands:
info (alias of: i)
commands (alias of: list, enumerate)
mig (alias of: migration)
cc (alias of: clear-cache)Migrations commands generate scripts with datetime versioning. In your configuration file, you must to define a config->application->migrationDir value. Then you have to manage your model metadatas with sachoo/phalcon-model-annotations
To know more about the power of Migrations, execute:
./console migThis command should display something similar to:
Help:
Migration Commands
Usage: Generate a Migration
mig gen
Usage: Run all available Migrations
mig run
Usage: Run just one migration up
mig up
Usage: Run just one migration down
mig down
Usage: Generate migration file with Diff beetween Models and your Databases
mig diff
Usage: Show migration status
mig status