Skip to content

Generate or migrate database changes via migrations.

License

Notifications You must be signed in to change notification settings

phalcon/migrations

Folders and files

NameName
Last commit message
Last commit date
Apr 13, 2024
Apr 14, 2024
Apr 14, 2024
Apr 14, 2024
Mar 29, 2020
Nov 12, 2019
Mar 16, 2020
Dec 10, 2021
Aug 3, 2021
Oct 15, 2019
Apr 5, 2024
Aug 29, 2020
Mar 17, 2020
Apr 13, 2024
Nov 6, 2024
Apr 13, 2024
Mar 22, 2020
Mar 17, 2020
Aug 31, 2020
Nov 30, 2021

Repository files navigation

Phalcon Migrations

Discord Packagist Version PHP from Packagist codecov Packagist

Generate or migrate database changes via migrations.
Main idea of Phalcon migrations is to automatically detect changes and morphing without writing manual migrations.

Full documentation

Phalcon Documentation - Database Migrations

Requirements

  • PHP >= 7.4
  • Phalcon >= 5.0.0
  • PHP ext-posix (Linux)

Installing via Composer

composer require --dev phalcon/migrations

Quick start

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.

Create configuration file

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
        ],
    ],
]);

Generate migrations

vendor/bin/phalcon-migrations generate

Or if you have ready to use configuration file.

vendor/bin/phalcon-migrations generate --config=migrations.php

Run migrations

vendor/bin/phalcon-migrations run

Or if you have ready to use configuration file.

vendor/bin/phalcon-migrations run --config=migrations.php

List existing migrations

vendor/bin/phalcon-migrations list