mike-sorokin / migration
Migration generator for Phinx
0.2.0
2016-09-20 15:18 UTC
Requires
- php: ^5.6 || ^7.0
- robmorgan/phinx: ^0.6.2
- symfony/console: ^3.1
Requires (Dev)
- phpunit/phpunit: ^5.4.0
This package is not auto-updated.
Last update: 2025-04-26 23:10:34 UTC
README
Migrations Builder for Phinx.
Currently Phinx (a migration library) cannot generate migrations automatically. Phinx "only" generates a empty class with up and down functions. You still have to write the migration manually.
In reality, you should rarely need to write migrations manually, as the migrations library "should" generate migration classes automatically by comparing your schema mapping information (i.e. what your database should look like) with your actual current database structure.
Generated migration
THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!
Features
- Framework independent
- DBMS: MySQL
- Database: character set, collation
- Tables: create, update, remove, engine, comment, character set, collation
- Columns: create, update, remove
- Indexes: create, remove
- Foreign keys (experimental): create, remove
Not supported
- MySQL [double] is not supported by phinx cakephp/phinx#498
- MySQL [year] is not supported by phinx. cakephp/phinx#704 | cakephp/phinx#551
- MySQL [bit] is not supported by phinx. cakephp/phinx#778
- MySQL enum values with special characters: cakephp/phinx#887
- Migration of contraint names (currently only auto generated): cakephp/phinx#823
- MySQL comments with special characters.
Installation
git clone https://github.com/odan/migrations.git
cd migrations
composer install --no-dev
Integration
composer require odan/migrations
Configuration
- Default configuration file: migrations-config.php
Example:
<?php return array( 'dsn' => 'mysql:host=127.0.0.1;dbname=test', 'username' => 'root', 'password' => '', 'options' => array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', ), 'schema_file' => __DIR__ . '/schema.php', 'migration_path' => __DIR__ );
Name | Type | Default | Description |
---|---|---|---|
dsn | string | Data source name (mysql:host=127.0.0.1;dbname=test) | |
username | string | Database username | |
password | string | Database password | |
options | array | Database options | |
schema_file | string | schema.php | Database schema file (schema.php or schema.json) |
migration_path | string | Output directory for migration files |
Usage
Generating migrations
cd bin
php migrations.php migration:generate
Load custom config file
php migrations.php migration:generate --config=myconfig.php