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 相关文章推荐
Banner程序
Oct 09 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
PHP 程序授权验证开发思路
Jul 09 PHP
php is_file 判断给定文件名是否为一个正常的文件
May 10 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
Feb 10 PHP
PHP中each与list用法分析
Jan 08 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
php的4种常用运行方式详解
Dec 22 PHP
PHP批量删除jQuery操作
Jul 23 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
详解将数据从Laravel传送到vue的四种方式
Oct 16 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
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
Yii2如何批量添加数据
2016/05/17 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
关于JS中match() 和 exec() 返回值和属性的测试
2016/03/21 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
EditPlus 正则表达式 实战(3)
2016/12/15 Javascript
jQuery实现简单日历效果
2020/07/05 jQuery
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
详解Python多线程Selenium跨浏览器测试
2017/04/01 Python
python实现C4.5决策树算法
2018/08/29 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
Python jieba库用法及实例解析
2019/11/04 Python
python中删除某个元素的方法解析
2019/11/05 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
python中if及if-else如何使用
2020/06/02 Python
Python中有几个关键字
2020/06/04 Python
Django日志及中间件模块应用案例
2020/09/10 Python
浅析Python中字符串的intern机制
2020/10/03 Python
高级Java程序员面试要点
2013/08/02 面试题
文艺委员竞选稿
2015/11/19 职场文书
Python 键盘事件详解
2021/11/11 Python
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers
python实现学生信息管理系统(面向对象)
2022/06/05 Python