imiphp / imi-migration
imi 框架数据库迁移组件。imi Migration component.
v2.1.0
2023-07-03 00:42 UTC
Requires
- yurunsoft/sql-diff: ~1.0.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ~3.4.0
- imiphp/imi: 2.1.x-dev
- phpstan/phpstan: ~1.8.0
- phpunit/phpunit: ~9.6
- rector/rector: ^0.12.10
- swoole/ide-helper: ^4.8
This package is auto-updated.
Last update: 2024-12-03 03:53:43 UTC
README
介绍
此项目是 imi 框架的数据库迁移组件。
正在测试阶段,使用时请先确认 SQL 无误后再执行,本项目不对删库删数据负责。
安装
composer require imiphp/imi-migration:~2.1.0
使用说明
模型同步到表结构
同步表结构
将数据库中的数据表结构升级为模型中定义的结构。
vendor/bin/imi-swoole migration/patch -f
生成同步结构 SQL 语句
输出到命令行:
vendor/bin/imi-swoole migration/patch
保存到文件:
vendor/bin/imi-swoole migration/patch -f "文件名"
数据库迁移
配置
@app.beans
:
[ \Imi\Migration\Service\MigrationService::class => [ 'handler' => \Imi\Migration\Handler\FileMigrationHandler::class, // 迁移处理器 'onGenerateModel' => true, // 是否在生成模型时自动生成迁移文件 ], ]
上述配置是默认配置,不配置时自动启用。
目录
.migration
是存放数据库迁移文件和版本信息的目录,请勿将 .migration/version
提交到版本控制系统。
执行数据库迁移
执行前询问:
vendor/bin/imi-swoole migration/migrate
强制执行:
vendor/bin/imi-swoole migration/migrate -f
请谨慎操作
执行数据库回滚
执行前询问:
vendor/bin/imi-swoole migration/rollback
强制执行:
vendor/bin/imi-swoole migration/rollback -f
请谨慎操作
通用参数
指定连接池
vendor/bin/imi-swoole migration/命令 --poolName "连接池名"
不指定时使用默认连接池
指定连接参数
vendor/bin/imi-swoole migration/命令 --driver "PdoMysqlDriver" --options "host=127.0.0.1&port=3306&username=root&password=root"
免费技术支持
运行环境
版权信息
imi-migration
依赖 phpmyadmin/sql-parser,所以开源协议受到污染,必须是 GPL-2.0,所有基于本项目的代码都要开源。
建议仅将此组件作为独立工具安装使用,不要在项目中调用此项目中的任意代码,这样就不受开源协议污染了!
捐赠
开源不求盈利,多少都是心意,生活不易,随缘随缘……