nyuwa / phinx-migrations-generator
Phinx 迁移生成器
5.5.0
2022-02-22 17:42 UTC
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: ^3.0
- overtrue/phplint: ^1.1 || ^2.0 || ^3.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^8 || ^9
- squizlabs/php_codesniffer: ^3.4
- symfony/polyfill-uuid: ^1.24
- symfony/string: ^5 || ^6
- dev-master
- 5.5.0
- 5.4.3
- 5.4.2
- 5.4.1
- 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
- dev-dependabot/add-v2-config-file
This package is not auto-updated.
Last update: 2024-09-19 20:35:16 UTC
README
通过比较当前数据库与模式信息,生成 Phinx 迁移。
要求
- PHP 7.2+ 或 8.0+
特性
- 框架无关
- 数据库管理系统:MySQL 5.7+、MySQL 8、MariaDB(部分支持)
- 初始模式
- 模式差异
- 数据库:字符集、校对
- 表:创建、更新、删除、引擎、注释、字符集、校对
- 列:创建、更新、删除
- 索引:创建、删除
- 外键:创建、删除、约束名称
安装
通过 Composer
$ composer require odan/phinx-migrations-generator --dev
用法
生成迁移
第一次运行会生成初始模式和迁移类。文件 schema.php
包含了之前的数据库模式,并与当前模式进行比较。基于差异,生成 Phinx 迁移类。
$ vendor/bin/phinx-migrations generate
当再次执行 generate
命令时,仅生成与上次模式之间的差异。
参数
运行迁移
Phinx 迁移命令 运行所有可用的迁移。
$ vendor/bin/phinx migrate
配置
phinx-migrations-generator 使用 phinx 的配置。
迁移配置
示例配置
文件名:phinx.php
(位于项目根目录中)
<?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', ) ); return [ 'paths' => [ 'migrations' => __DIR__ . '/../resources/migrations', ], 'schema_file' => __DIR__ . '/../resources/schema/schema.php', 'foreign_keys' => false, 'default_migration_prefix' => '', 'mark_generated_migration' => true, 'environments' => [ 'default_environment' => 'local', 'local' => [ // Database name 'name' => $pdo->query('select database()')->fetchColumn(), 'connection' => $pdo, ] ] ];
测试
$ composer test
贡献
请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 了解详情。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。