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
- PHP >= 7.4
 - Phalcon >= 5.0.0
 - PHP ext-posix (Linux)
 
composer require --dev phalcon/migrations
What you need for quick start:
- Configuration file (ex: 
migrations.php) in root of your project (you can also pass them as parameters inside CLI environment) - Create database tables structure
 - Execute command to generate migrations
 
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 generateOr if you have ready to use configuration file.
vendor/bin/phalcon-migrations generate --config=migrations.phpvendor/bin/phalcon-migrations runOr if you have ready to use configuration file.
vendor/bin/phalcon-migrations run --config=migrations.phpvendor/bin/phalcon-migrations list