phalcon/migrations

Run and Generate DB Migrations with Phalcon Framework

Package info

github.com/phalcon/migrations

Homepage

Forum

pkg:composer/phalcon/migrations

Fund package maintenance!

phalcon

Open Collective

Statistics

Installs: 999 875

Dependents: 5

Suggesters: 0

Stars: 28

Open Issues: 32

v3.0.1 2023-05-03 09:02 UTC

Requires

Suggests

  • robmorgan/phinx: Phinx makes it ridiculously easy to manage the database migrations for your PHP app.

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 69c1ea982a94e13510201e642e408dea9d554539

frameworkmigrationpharphalcon


README

👁 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