Generate or migrate database changes via migrations.
Main idea of Phalcon migrations is to automatically detect changes and morphing without writing manual migrations.
https://docs.phalcon.io/latest/en/db-migrations
- PHP >= 7.2
- Phalcon >= 4.0.0
- PHP ext-posix (Linux)
composer require --dev phalcon/migrations
What you need for quick start:
- Configuration file 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.
<?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,
'migrationsDir' => 'db/migrations',
'migrationsTsBased' => true, // true - Use TIMESTAMP as version name, false - use versions (1.0.1)
'exportDataFromTables' => [
// Tables names
// Attention! It will export data every new migration
],
],
]);
vendor/bin/phalcon-migrations migration generate
vendor/bin/phalcon-migrations migration run