【laravel】@16 数据库迁移

举报
原来是咔咔 发表于 2022/03/27 01:35:37 2022/03/27
【摘要】 author:咔咔 wechat:fangkangfk 所谓迁移就像是数据库的版本控制,这种机制允许团队简单轻松的编辑并共享应用的数据库表结构。迁移通常和 Laravel 的 schema 构建器结对从而可以很容易地构建应用的数据库表结构。如果你曾经频繁告知团队成员需要手动添加列到本地数据库表结构以维护本地开发环境,那么这正是数据库...

author:咔咔

wechat:fangkangfk

所谓迁移就像是数据库的版本控制,这种机制允许团队简单轻松的编辑并共享应用的数据库表结构。迁移通常和 Laravel 的 schema 构建器结对从而可以很容易地构建应用的数据库表结构。如果你曾经频繁告知团队成员需要手动添加列到本地数据库表结构以维护本地开发环境,那么这正是数据库迁移所致力于解决的问题。

文档在这块写的不是很清晰,因为只说了怎么创建数据结构,只给了对列的修改方法,但是没有提怎么修改,那么下面这些流程看一看一下,更多的还是需要研究文档

创建一个迁移文件:php artisan make:migration create_user_table.php

使用命令:php artisan migtate进行数据库迁移 

这个错误的解决方案:

然后在执行就ok了

打开数据库:

这是第一步统一数据库结构,但是在我们正常的项目开发时项目结构会经常变更的,这个时候我们不可能直接在线上直接更改,但是我们还需要保持数据库统一,我们就可以使用laravel的数据迁移来进行操作

在修改列之前,确保已经将 doctrine/dbal 依赖添加到 composer.json 文件,Doctrine DBAL 库用于判断列的当前状态并创建对列进行指定调整所需的 SQL 语句:

 composer require doctrine/dbal
 

比如我们对这个users数据库要进行添加一个字段myIsAdd这个字段

我们需要先创建一个迁移文件

 

然后使用php artisan migrate命令执行

 数据库,已经添加成功

这里对列的操作方法我简单列出来,只要知道是这样对表结构进行修改的,其他的都可以看文档解决(比如添加的列的索引,类型)

这是重命名字段


  
  1. Schema::table('users', function (Blueprint $table) {
  2. $table->renameColumn('from', 'to');
  3. });

这是删除字段


  
  1. Schema::table('users', function (Blueprint $table) {
  2. $table->dropColumn('votes');
  3. });

有特别其他需求的可以自己查文档解决,这里就不一一列出来了 

文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fangkang7/article/details/90693499

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。