Generate or migrate database changes via migrations.
Main idea of Phalcon migrations is to automatically detect changes and morphing without writing manual migrations.
Phalcon Documentation - Database Migrations
composer require --dev phalcon/migrations
What you need for quick start:
migrations.php
) in root of your project (you can also pass them as parameters inside CLI environment)After that you can execute that migrations (run) in another environment to create same DB structure.
Configuration filename can be whatever you want.
<?php
use Phalcon\Config;
return new Config([
'database' => [
'adapter' => 'mysql',
'host' => '127.0.0.1',
'username' => 'root',
'password' => '',
'dbname' => 'db-name',
'charset' => 'utf8',
],
'application' => [
'logInDb' => true,
'no-auto-increment' => true,
'skip-ref-schema' => true,
'skip-foreign-checks' => true,
'migrationsDir' => 'db/migrations',
'migrationsTsBased' => true, // true - Use TIMESTAMP as version name, false - use versions
'exportDataFromTables' => [
// Tables names
// Attention! It will export data every new migration
],
],
]);
vendor/bin/phalcon-migrations generate
Or if you have ready to use configuration file.
vendor/bin/phalcon-migrations generate --config=migrations.php
vendor/bin/phalcon-migrations run
Or if you have ready to use configuration file.
vendor/bin/phalcon-migrations run --config=migrations.php
vendor/bin/phalcon-migrations list