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.2
- Phalcon >= 4.0.5
- 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 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