我的编程空间,编程开发者的网络收藏夹
学习永远不晚

laravel如何更改表结构

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

laravel如何更改表结构

这篇文章主要介绍laravel如何更改表结构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

laravel更改表结构的方法:1、生成migration文件;2、执行命令“php artisan make:migration...”;3、添加“$table->text('images')->nullable()...”即可。

本文操作环境:Windows7系统、Laravel5.7版、Dell G3电脑。

使用 laraval migration 修改数据库表结构

之前一直使用 sql 文件来保存并跟踪数据库表结构的变化。但是使用 sql 文件有以下弊端:

  • 无法判断哪些 sql 文件执行了,哪些没执行。虽然加了日期做为 sql 文件名前缀,但是在多人开发,且长时间没有更新线上数据表结构时,经常要挠头

  • 执行 sql 文件是件体力活。当你面对十几个 sql alter 文件时,逐个执行非常累心。

  • 多套开发、生产环境同步起来还是费时费力。例如,PC 开发机上进行了一次修改,还要同步到笔记本开发环境上,想想都难受。

这些问题,远不如执行一行 migration 来的痛快。

增加一个新字段

例如,我要给 articles 表增加一个 images 字段。

首先需要生成 migration 文件,执行命令

php artisan make:migration add_images_to_articles_table --table=articles

输出结果为

Created Migration: 2018_03_21_225819_add_images_to_articles_table

对应的 database/migrations/ 目录下会自动生成一个文件

database/migrations/2018_03_21_225819_add_images_to_articles_table.php

可以看到文件名前面缀上了日期和时间。

public function up(){Schema::table('articles', function (Blueprint $table) {$table->text('images');});}

按照官方文档,加上 images 字段,保存修改。执行命令

php artisan migrate

输出

Migrating: 2018_03_21_225819_add_images_to_articles_tableMigrated:  2018_03_21_225819_add_images_to_articles_table

这时查看数据表 migrations 会发现多了一行记录。

laravel如何更改表结构

然后就是把修改同步到生产环境了。唯一的区别就是,生产环境服务器上会要求确认是否执行该命令。

***************************************     Application In Production!     *************************************** Do you really wish to run this command? (yes/no) [no]: > yesMigrating: 2018_03_21_225819_add_images_to_articles_tableMigrated:  2018_03_21_225819_add_images_to_articles_table

修改字段

这不仓促发布造成了 500 错误

SQLSTATE[HY000]: General error: 1364 Field 'images' doesn't have a default value

只需要再新建一个 migration 文件即可,加入

$table->text('images')->nullable()->change();

线上再次执行 migrate 即可解决。

以上是“laravel如何更改表结构”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

laravel如何更改表结构

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

laravel如何更改表结构

这篇文章主要介绍laravel如何更改表结构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!laravel更改表结构的方法:1、生成migration文件;2、执行命令“php artisan make:migrati
2023-06-22

在SQLite中如何更改表结构

在SQLite中更改表结构可以通过ALTER TABLE语句来实现。例如,要向表中添加新列,可以使用以下语法:ALTER TABLE table_name ADD column_name column_type;要删除列,可以使用以下语法
在SQLite中如何更改表结构
2024-04-09

MySQL怎么更改表格结构

要更改表格结构,可以使用ALTER TABLE语句。以下是一些常用的修改表格结构的操作:添加新列:ALTER TABLE table_nameADD column_name datatype;修改列的数据类型:ALTER TABLE
MySQL怎么更改表格结构
2024-03-06

MySQL如何快速修改表的表结构

快速修改MySQL某张表的表结构--摘录自《MySQL管理之道》ALTER TABLE 表名 MODIFY 列名 数据类型; 这个命令可以修改表结构 此外,也可以如下方法修改表结构: 先创建一张表,如下:> create table t1
2022-05-16

oracle如何修改表结构字段长度

要修改表结构字段长度,可以使用ALTER TABLE语句来实现。例如,如果要将表名为example_table的字段名为example_column的长度修改为50个字符,可以使用以下SQL语句:ALTER TABLE example_
oracle如何修改表结构字段长度
2024-04-09

HBase的表结构变更如何影响性能

HBase的表结构变更可能会对性能产生显著影响,具体取决于变更的类型和规模。以下是一些关于HBase表结构变更对性能影响的信息:表结构变更对性能的影响数据分布和负载均衡:表结构的变更可能会影响数据的分布,导致数据在RegionServer
HBase的表结构变更如何影响性能
2024-10-19

如何将接口切片更改为结构切片

学习Golang要努力,但是不要急!今天的这篇文章《如何将接口切片更改为结构切片》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!问题内容如何将接口切片设置为结构切片? 我定义
如何将接口切片更改为结构切片
2024-04-05

mysql表结构怎么修改

修改 mysql 表结构的方法是使用 alter table 命令,可用于添加、删除或修改列、约束和其他属性。详细步骤包括:连接到数据库。指定表名。执行修改操作(add、drop、modify、change、rename)。指定列属性(对于
mysql表结构怎么修改
2024-05-22

如何实现MySQL中修改表结构的语句?

如何实现MySQL中修改表结构的语句?MySQL 是一种流行的关系型数据库管理系统(RDBMS),用于存储和管理大量的数据。在实际的开发过程中,经常需要修改数据库表的结构,例如添加、修改、删除列等。在下面的文章中,将详细介绍如何使用 MyS
如何实现MySQL中修改表结构的语句?
2023-11-09

mongodb如何查表结构

在MongoDB中,没有像关系型数据库那样的明确的表结构。MongoDB是一个文档数据库,数据以文档的形式存储,每个文档可以具有不同的结构。但是,可以通过查询数据库中的样本文档来获取表结构的大致信息。以下是一些常用的方法:1. 使用find
2023-09-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录