Laravel 学习之数据库迁移
1.数据库迁移详解
迁移就像是数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的数据库结构生成器配合使用,让你轻松地构建数据库结构。如果你曾经试过让同事手动在数据库结构中添加字段,那么数据库迁移可以让你不再需要做这样的事情(来自于手册文档数据库迁移简介)
2.操作
2.1运行迁移
1)通用是使用artisan命令来进行迁移操作,laravel默认有两个迁移文件一个users一个passwordResets表。
// 根据迁移文件在数据库内生成数据表
命令行:php artisan migrate
执行后你就会发现你连接的数据库中多了3个表,一个是users表(这里我用的是customers,直接复制的 Users迁移文件),一个password_resets表,还有一个migrates表。这里友情提示,不建议直接用user 当用户表,user的定义太大了,我们一般用客户,当然按照你们实际情况决定,偏要用user当用户表也 不反对。
2)表结构
customers 表结构
migrations 表结构
password_resets 表结构
3) 迁移文件所在目录,里边具体内容自己看吧。
2.2 生成迁移
1) 命令行操作:php artisan make:migration create_customerInformation_table
2) 效果:生成一个客户信息表 customer_information
迁移文件,这时候你会发现在 database/migrations
文件下生成了一个 2019_06_06_130424_create_customer_information_table.php
文件。
3)方法:你看到了一个up方法和一个down方法,up 方法用于添加新的数据表, 字段或者索引到数据库, 而 down 方法就是 up 方法的反操作,和 up 里的操作相反。一个创建一个删除。
4)字段添加:客户信息表,存储客户信息的,就相当于网页的个人中心,这里简单举例就简单几个字段属性,主键id,customer_id,性别 sex,昵称 nick_name,地址 address,具体请看图片里的注释
5)写完后,运行迁移,命令行:php artisan migrate
,这时候数据库里就有了新的客户信息表,看图片哦。
客户信息表结构
2.3回滚迁移
1)想要回滚最新的一次迁移”操作“,可以使用 rollback 命令,这将会回滚最后一批运行的迁移,可能包含多个迁移文件:
命令行操作:php artisan migrate:rollback
2)你也可以通过 rollback 命令上提供的 step 选项来回滚指定数目的迁移,例如,下面的命令将会回滚最后3条迁移:
命令行操作:php artisan migrate:rollback --step=3
3)migrate:reset 命令将会回滚所有的应用迁移:
命令行操作:php artisan migrate:reset
4)在单个命令中回滚 & 迁移,migrate:refresh 命令将会先回滚所有数据库迁移,然后运行 migrate 命令。这个命令可以有效的重建整个数据库:
命令行操作:php artisan migrate:refresh
// 重建数据库并填充数据
命令行操作:php artisan migrate:refresh --seed
5)你也可以回滚或重建指定数量的迁移 —— 通过 refresh 命令提供的 step 选项。
// 回滚3条数据迁移
命令行操作:php artisan migrate:refresh --step=3
6)删除所有表 & 迁移migrate:fresh 命令将会先从数据库中删除所有表然后执行 migrate 命令
命令行操作:php artisan migrate:fresh
剩下的修改字段之类的就之后写吧。
本作品采用《CC 协议》,转载必须注明作者和本文链接
请问comment('注释') 这样写执行迁移的时候不会报错吗