Laravel框架-迁移文件

Laravel框架-迁移文件

它是什么:
  1. 它是保存在迁移文件目录database\migrations\中的文件,并且这些文件中的类都继承迁移类Illuminate\Database\Migrations\Migration
主要作用:
  1. 可以让开发者在代码中实现对数据表结构的增删改能力
  2. 开发者按照规范来,就可以对数据库结构起到版本控制的作用
运作原理:
  1. 首先知道每个迁移文件都会有两个方法,分别是负责破坏的up与负责还原的down。如up中添加某表,那么down中必定是删除某表
  2. 当我们执行迁移命令php artisan migrate时,程序会对比迁移表migration的记录与迁移目录中存在的文件来找到未迁移的迁移文件,接着运行迁移文件的up方法,并在迁移表migration中添迁移记录,内容为迁移文件名与迁移批次号
  3. 当我们执行迁移回退命令php artisan migrate:rollback时,程序会在迁移表migration中找到迁移批次号最大的记录(可能是多条),接着根据记录来找到对应的迁移文件并执行其中的down方法来执行回退操作,然后删除迁移表migration中的相关记录
如何使用?
  1. 创建新表的迁移命令php artisan make:migration create_xx_table。其中的 xx 表示表名
  2. 添加字段的命令php artisan make:migration add_yy_to_xx_table。其中的 xx 表示表名,yy表示字段名
  3. 添加索引的命令 php artisan make:migration add_yy_index_to_xx_table。表示给 yy 字段添加 index索引。其中,up 方法的内容为$table->index('yy');,down方法内容为$table->dropIndex('xx_yy_index');。嗐,谁又知道我在这里卡了多久呢
  4. 迁移方法的内容命令太多,必须要看文档
使用建议:
  1. 高效检查迁移文件:可以先执行迁移命令php artisan migrate并查看数据库,接着执行迁移回退命令php artisan migrate:rollback查看回退结果,最后再执行迁移命令php artisan migrate获得需要修改的内容
  2. 快速迭代开发:开发阶段,如果发现迁移文件的内容要改变,为了图方便,代码可以更加整洁,我们可以直接在迁移文件上修改,然后删除迁移文件对应的数据表以及在迁移表migration中对应的迁移记录,然后再跑一次迁移命令即可。这种操作解决不能再生产环境中进行
  3. 解决迁移失败:当执行迁移命令php artisan migrate时,有时会碰到迁移失败的情况。发生这种情况,往往是回退了漏写了down方法内容的迁移文件所致。此时,搞清楚导致失败的迁移文件的执行目的,问题就能迎刃而解了。如那迁移文件是创建数据表的,那就去数据库删除对应的表,接着去迁移表migration中删除迁移记录,然后在执行一遍迁移命令php artisan migrate即可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值