定制 topthink/think-migration 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

topthink/think-migration

最新稳定版本:v3.1.1

Composer 安装命令:

composer require topthink/think-migration

包简介

README 文档

README

ThinkPHP6 数据库迁移工具集成了 Phinx,提供了简单易用的数据库迁移和数据填充功能,帮助开发者更高效地管理数据库版本。

安装

使用 Composer 安装此工具:

composer require topthink/think-migration

功能特性

  • 数据库迁移:使用数据库无关的 PHP 代码编写迁移脚本。
  • 数据填充:在数据库创建后填充初始数据。
  • 快速上手:不到 5 分钟即可开始使用。

使用方法

1. 配置 Phinx

在开发模式下,工具会自动复制 Phinx 相关文件到项目中。确保项目配置文件中包含正确的数据库连接信息。

2. 创建迁移文件

使用以下命令创建一个新的迁移文件:

php think migrate:create YourMigrationName

这将在 phinx/Migration 目录下生成一个新的迁移文件,你可以在其中编写数据库迁移逻辑。

3. 编写迁移逻辑

打开生成的迁移文件,继承 Phinx\Migration\AbstractMigration 类,并实现 updown 方法:

<?php

use Phinx\Migration\AbstractMigration;

class YourMigrationName extends AbstractMigration
{
    public function change()
    {
        $table = $this->table('followers', ['id' => false, 'primary_key' => ['user_id', 'follower_id']]);
        $table->addColumn('user_id', 'integer')
            ->addColumn('follower_id', 'integer')
            ->addColumn('created', 'datetime')
            ->addIndex(['email','username'], ['limit' => ['email' => 5, 'username' => 2]])
            ->addIndex('user_guid', ['limit' => 6])
           ->create();
    }
 
}

4. 执行迁移

执行向上迁移:

php think migrate:run

执行向下迁移:

php think migrate:rollback

多数据库支持

执行命令

php think  migrate:rollback   --connection=db_conn_name -vvv

回滚命令

php think  migrate:rollback   --connection=db_conn_name -vvv

其他命令类似

topthink/think-migration 适用场景与选型建议

topthink/think-migration 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 439.71k 次下载、GitHub Stars 达 96, 最近一次更新时间为 2016 年 03 月 23 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 topthink/think-migration 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 topthink/think-migration 我们能提供哪些服务?
定制开发 / 二次开发

基于 topthink/think-migration 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 439.71k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 101
  • 点击次数: 16
  • 依赖项目数: 152
  • 推荐数: 5

GitHub 信息

  • Stars: 96
  • Watchers: 7
  • Forks: 59
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2016-03-23