开始前需要做好的准备工作:
- 搭建好 PHP 开发环境(推荐 phpstudy,PHP>=7.2.5,MySql5.7.x)。
- 安装好 ThinkPHP6.0,并做配置可正常连接到 MySql 数据库。
- 安装好 Composer。
安装数据库迁移工具
使用 Composer 安装数据库迁移工具:
composer require topthink/think-migration
安装成功后,通过php think list查看相关指令:

上面截图中红色框线区域为数据库迁移相关指令。我们常用的其中的三个:
- migrate:create 创建一个迁移
- migrate:rollback 回滚
- migrate:run 执行迁移
下文我以用户表为例进行介绍。
创建迁移文件
-
首先通过
migrate:create指令生成一个迁移脚本(含基础代码结构的文件)php think migrate:create User执行成功的结果如下:

我们可以看到,执行结果是在项目根目录多一个database/migrations目录,来存放迁移脚本文件,文件名格式YYYYMMDDHHMMSS_my_new_migration.php,前 14 个字符就是当前时间戳(精确到秒),后面就是自定义的迁移名称。 -
修改迁移脚本内容
上文自动创建的迁移脚本文件只是一个框架文件,并没有具体实现。我们可以在这个文件中编码来创建新表、插入数据、增加索引和修改字段等。其中有一个空方法change,我们就在这个方法内进行迁移。- 修改前的迁移脚本文件内容:
<?php use think\migration\Migrator; use think\migration\db\Column; class User extends Migrator { /** * Change Method. * * Write your reversible migrations using this method. * * More information on writing migrations is available here: * http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class * * The following commands can be used in this method and Phinx will * automatically reverse them when rolling back: * * createTable * renameTable * addColumn * renameColumn * addIndex * addForeignKey * * Remember to call "create()" or "update()" and NOT "save()" when working * with the Table class. */ public function change() { } }旧版本中
up和down方法,而目前最新版本只需要在change方法中定义up的代码逻辑,不需要定义down方法,因为回滚的时候新版本会自动识别。注意: 当
change方法存在的时候,up和down方法会被自动忽略。如果你确实想用这些方法,你可以创建另外一个迁移文件。- 定义迁移文件内容如下:
<?php use

本文介绍了如何在ThinkPHP6.0框架下利用Composer安装数据库迁移工具,通过创建和执行迁移文件来管理数据库结构。创建迁移文件涉及change方法,用于定义表结构和操作,如添加字段和索引。执行迁移通过`migrate:run`命令实现,回滚则使用`migrate:rollback`,支持按版本或日期回滚。

5万+

被折叠的 条评论
为什么被折叠?



