hypocenter / phinx-migrations-generator
Migration generator for Phinx
Requires
- php: ^7.2 || ^8.0
- ext-json: *
- ext-pdo: *
- riimu/kit-phpencoder: ^2.4
- robmorgan/phinx: ^0.12
- symfony/console: ^2.8 || ^3.0 || ^4.0 || ^5.0
- symfony/polyfill-php73: ^1.18
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- overtrue/phplint: ^1.1 || ^2.0
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^8 || ^9
- squizlabs/php_codesniffer: ^3.4
- dev-master
- 5.5.0
- 5.4.0
- 5.3.2.x-dev
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.0
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.0
- 4.6.1
- 4.6.0
- 4.5.0
- 4.4.1
- 4.4.0
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.7.0
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.4
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.2.0
- 1.1.0
- 1.0.0
- 0.7.0
- 0.6.4
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.1
- 0.5.0
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- 0.0.2
- 0.0.1
This package is auto-updated.
Last update: 2024-12-04 21:00:43 UTC
README
Generates Phinx migrations by comparing your current database with your schema information.
Requirements
- PHP 7.2+ or 8.0+
Features
- Framework independent
- DBMS: MySQL 5.7+, MySQL 8, MariaDB (partially supported)
- Initial schema
- Schema difference
- Database: character set, collation
- Tables: create, update, remove, engine, comment, character set, collation
- Columns: create, update, remove
- Indexes: create, remove
- Foreign keys: create, remove, constraint name
Install
Via Composer
$ composer require odan/phinx-migrations-generator --dev
Usage
Generating migrations
The first run generates an initial schema and a migration class.
The file schema.php
contains the previous database schema and is compared with the current schema.
Based on the difference, a Phinx migration class is generated.
$ vendor/bin/phinx-migrations generate
When the generate
command is executed again, only the difference to the last schema is generated.
Parameters
Running migrations
The Phinx migrate command runs all the available migrations.
$ vendor/bin/phinx migrate
Configuration
The phinx-migrations-generator uses the configuration of phinx.
Migration configuration
Example configuration
Filename: phinx.php
(in your project root directory)
<?php // Framework bootstrap code here require_once __DIR__ . '/config/bootstrap.php'; // Get PDO object $pdo = new PDO( 'mysql:host=127.0.0.1;dbname=test;charset=utf8', 'root', '', array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_PERSISTENT => false, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8 COLLATE utf8_unicode_ci', ) ); // Get migration path for phinx classes $migrationPath = __DIR__ . '/resources/migrations'; return [ 'paths' => [ 'migrations' => $migrationPath, ], 'foreign_keys' => false, 'default_migration_prefix' => 'db_change_', 'mark_generated_migration' => true, 'migration_base_class' => \Phinx\Migration\AbstractMigration::class, 'environments' => [ 'default_environment' => 'local', 'local' => [ // Database name 'name' => $pdo->query('select database()')->fetchColumn(), 'connection' => $pdo, ] ] ];
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
License
The MIT License (MIT). Please see License File for more information.