topthink / think-migration
Installs: 369 272
Dependents: 148
Suggesters: 4
Security: 0
Stars: 94
Watchers: 9
Forks: 59
Open Issues: 29
Requires
- php: >=7.2
- topthink/framework: ^6.0 || ^8.0
- topthink/think-helper: ^3.0.3
Requires (Dev)
- composer/composer: ^2.5.8
- fzaninotto/faker: ^1.8
- robmorgan/phinx: ^0.13.4
Suggests
- fzaninotto/faker: Required to use the factory builder (^1.8).
- 3.1.x-dev
- v3.1.1
- v3.1.0
- 3.0.x-dev
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- 2.0.x-dev
- v2.0.3
- v2.0.2
- v2.0.1
- v1.1.1
- v1.1.0
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0
- dev-analysis-lZkNWd
- dev-analysis-VBRMa3
- dev-analysis-O3BELJ
- dev-analysis-wOJEy9
- dev-analysis-lKWbLw
- dev-analysis-L34Bbm
- dev-master
This package is auto-updated.
Last update: 2025-03-06 12:11:23 UTC
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
类,并实现 up
和 down
方法:
<?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
其他命令类似