1.安装
composer require topthink/think-migration v2.0.3
2.php think
命令查看是否安装成功
从图中我们可以看到 migration 和 seed ,表示安装成功了
3.创建迁移文件
php think migrate:create TableName(TableName格式为大驼峰)
第一次执行 Migraton 它会提示一些信息,这里全部统一 yes 。
在项目的根目录下多了一个 database 目录,有一个migration文件夹,该文件夹就是用来存放 migration文件,打开可以看到我们刚才创建的 migration 文件:
文件格式命名规则:时间 + 随机数 + _ + 文件名
4.文件内容示例
table('rail');
$table->addColumn('points', 'string', ['limit' => 255, 'null' => false, 'comment' => '围栏点'])
->addColumn('status', 'integer', ['limit' => 1, 'null' => false, 'default' => 1, 'comment' => '状态 1正常 2取消'])
->addColumn('name', 'string', ['limit' => 32, 'null' => false, 'comment' => '围栏名称'])
->addColumn('floor', 'integer', ['limit' => 3, 'null' => false, 'comment' => '层数'])
->addColumn('create_time', 'timestamp', ['comment' => '创建时间'])
->addColumn('type', 'integer', ['limit' => 1, 'default' => 1, 'comment' => '类型'])
->addColumn('alarm_time', 'integer', ['limit' => 2, 'default' => 3, 'comment' => '类型'])
->create();
}
//如果你的主键是id,不需要手动指定thinkphp会为我们默认添加。
}
5.migrate:run 命令 执行迁移文件创建/修改数据库
6. 自动生成的migrations表,表中是执行run命令的记录,版本号字段与文件名一一对应。
7.新增表字段,对表进行二次操作,不能在同一个脚本中二次编辑,只能新建脚本。php think migrate:create TableName2
tp的官方文档上我没有找到migrate数据库迁移的详细文档,这篇文章的内容主要来源于这里(https://www.cnblogs.com/tinywan/p/11298997.html),以作记录
8.数据填充示例
php think seed:create TableName
编辑文件
public function run()
{
$data[] = [
'member_id' => 1,
'thirdid' => '1',
'platform' => 'zhansan',
];
$this->table('TableName')->insert($data)->save();
}
数据填充
php think seed:run