imiphp/imi-migration

imi 框架数据库迁移组件。imi Migration component.

v2.1.0 2023-07-03 00:42 UTC

This package is auto-updated.

Last update: 2024-12-03 03:53:43 UTC


README

Latest Version Php Version Swoole Version imi License

介绍

此项目是 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"

免费技术支持

QQ群:17916227 点击加群,如有问题会有人解答和修复。

运行环境

版权信息

imi-migration 依赖 phpmyadmin/sql-parser,所以开源协议受到污染,必须是 GPL-2.0,所有基于本项目的代码都要开源。

建议仅将此组件作为独立工具安装使用,不要在项目中调用此项目中的任意代码,这样就不受开源协议污染了!

捐赠

开源不求盈利,多少都是心意,生活不易,随缘随缘……