Laravel5.5 数据库迁移:创建表与修改表示例


Posted in PHP onOctober 23, 2019

数据库迁移是数据库的版本管理,要使用数据库迁移,需要在.env文件中连接好数据库(不多说)。laravel本身已经存在user表和password_resets表的迁移了,因此,执行

php artisan migrate

便会在数据库中创建好user表、password_resets表和migrations表。migrations表是版本记录表。

命令执行的其实是 database\migration 下的迁移文件。迁移文件中调用的方法会替我们执行数据库操作(建表)。每个文件的命名对应迁移创建的时间和迁移的表名称。

现在我们要添加自己的迁移表。

创建迁移

方法一:创建数据模型的时候加上 -m ,例如:

php artisan make:model Models/Moment -m

就会在 database/migrations 下看到新建的迁移文件。打开文件,主要有 up 和 down 方法。

当我们运行迁移时,up 方法会被调用;

当我们回滚迁移时,down 方法会被调用。

方法二:

php artisan make:migration create_moments_table

其中 “moments” 就是要创建的表名,这里要写你自己的表名。

创建表

在up方法中,我们编写创建表的语句:

Schema::create('moments', function (Blueprint $table) {
 
 $table->increments('id');
 
 $table->integer('user_id');
 
 $table->string('title');
 
 $table->string('content');
 
 $table->timestamps();
 
});

保存后执行 php artisan migrate ,会创建5个字段的article表。

修改表

方法一:修改迁移文件,执行命令

php artisan migrate:refresh

方法二:如果要修改表,新建一个迁移文件:

php artisan make:migration alter_moments_table

其中 “moments” 就是要修改的表名,这里要写你自己的表名。

在 up 方法中:

Schema::table('moments', function (Blueprint $table) { 
 $table->string('test'); 
});

与创建表的区别是,create 方法改成 table 方法。

以上这篇Laravel5.5 数据库迁移:创建表与修改表示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
多php服务器实现多session并发运行
Oct 09 PHP
一个PHP数组应该有多大的分析
Jul 30 PHP
基于asp+ajax和数据库驱动的二级联动菜单
May 06 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
PHP自动生成表单代码分享
Jun 19 PHP
PHP模糊查询的实现方法(推荐)
Sep 06 PHP
php-msf源码详解
Dec 25 PHP
PHP实现的装箱算法示例
Jun 23 PHP
Yii2语言国际化的配置教程
Aug 19 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 PHP
关于laravel5.5的定时任务详解(demo)
Oct 23 #PHP
laravel 出现command not found问题的解决方案
Oct 23 #PHP
关于laravel框架中的常用目录路径函数
Oct 23 #PHP
laravel 实现根据字段不同值做不同查询
Oct 23 #PHP
Laravel修改验证提示信息为中文的示例
Oct 23 #PHP
php装饰者模式简单应用案例分析
Oct 23 #PHP
laravel 数据验证规则详解
Oct 23 #PHP
You might like
3种平台下安装php4经验点滴
2006/10/09 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
js停止输出代码
2008/07/20 Javascript
jQuery源码分析之Event事件分析
2010/06/07 Javascript
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue + element-ui的分页问题实现
2018/12/17 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
React学习之受控组件与数据共享实例分析
2020/01/06 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
[01:04:08]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第一场 12.16
2020/12/18 DOTA
python实现将汉字转换成汉语拼音的库
2015/05/05 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
简单了解python协程的相关知识
2019/08/31 Python
基于python实现学生信息管理系统
2019/11/22 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
造价工程师个人求职信
2013/09/21 职场文书
行政助理岗位职责范文
2013/12/03 职场文书
班组安全员工作职责
2014/02/01 职场文书
简易离婚协议书范本
2014/10/24 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
教研活动主持词
2015/07/03 职场文书
nginx作grpc的反向代理踩坑总结
2021/07/07 Servers
python 判断文件或文件夹是否存在
2022/03/18 Python