数据迁移 迁移就像是数据库的版本控制, 允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的 数据库结构生成器配合使用,让你轻松地构建数据库结构。...生成迁移 php artisan make:migration create_users_table 复制代码 新的迁移位于database/migrations目录下。...每个迁移文件名都包含时间戳,以便让 Laravel 确认迁移的顺序。 --table和--create选项可用来指定数据表的名称,或是该迁移被执行时是否将创建的新数据表。...:migration add_votes_to_users_table --table=users 复制代码 运行迁移 php artisan migrate 复制代码 在生产环境强制执行迁移 一些迁移操作是具有破坏性的...此命令将回滚最后一次“迁移”的操作,其中可能包含多个迁移文件: php artisan migrate:rollback 复制代码 你可以在rollback命令后面加上step参数,来限制回滚迁移的个数
bytes (SQL: alter table `use rs` add unique `users_email_unique`(`email`)) at D:\WWW\test\vendor\laravel...violation: 1071 Specified key was too long; max key length is 767 bytes") D:\WWW\test\vendor\laravel...\src\Illuminate\Database\Connection.php:458 2 PDOStatement::execute() D:\WWW\test\vendor\laravel...解决: 索引长度 & Mysql / MariaDB Laravel 默认使用 utf8mb4 编码,它支持在数据库中储存 emojis 。...如果你是在版本低于 5.7.7 的 MySQL 或者版本低于 10.2.2 的 MariaDB 上创建索引,那你就需要手动配置数据库迁移的默认字符串长度。
laravel 数据库迁移 数据迁移文件存放在database/migrations 特点:可进行版本回退,便于团队开发 通过数据迁移文件创建表 1 创建数据库 配置.env文件选择数据库 DB_CONNECTION...此时数据库并没有生成数据表c.我们需要编辑迁移文件,设置相应字段 在使用 php artisan migrate 成功生成表 数据库迁移文件 在这个文件有 up/...php artisan make:migration add_quantity_to_c --table=c//创建迁移文件 对迁移文件进行编辑,插入或删除字段 up()方法 $table->integer...(初始化) refresh():回退到初始状态,再执行所有迁移文件(重启(back->migrating) fresh():删除数据表,再次执行所有迁移文件(5.5)( 删除(drop->migrating...)) install() 重置并重新运行所有的migrations 重置前需删除migrations表——重置migrations表 重置的是migratic表而不是迁移文件 force():强制执行最新的迁移文件
错误与异常处理 在学习完 Laravel 中的日志处理模块之后,接下来马上就进入到错误和异常的学习中。...如果只是异常的话,它们的基类可以用 Exception 来进行捕获,如果只是错误的话,可以通过 ErrorException 来进行捕获,而 Throwable 是所有信息都可以用它来捕获。...public function register() { $this->reportable(function (ErrorException $e){ Log::channel...其实在默认情况下,所有的错误信息都会在 laravel.log 或者你定义的那个默认的日志配置中进行记录,但在这里,我们给 ErrorException 的错误处理的 reportable() 方法再继续调用了一个...自定义异常类 自定义普通的异常没有什么好说的,继承指定的异常对象就行了,比如说 Exception、ErrorException、Throwable 之类的都可以。
Laravel 默认使用 utf8mb4 字符,它支持在数据库中存储 "emojis" 。...如果你是在版本低于 5.7.7 的 MySQL release 或者版本低于 10.2.2 的 MariaDB release 上创建索引,那就需要你手动配置迁移生成的默认字符串长度。
迁移文件 migration #创建一个迁移 php artisan make:migration create_store_categories_table #运行所有未完成的迁移 php artisan...migrate #如果要查看到目前为止已运行哪些迁移 php artisan migrate:status #如果您希望查看迁移将执行的 SQL 语句而不实际运行它们 php artisan migrate...此命令回滚最后一批迁移,其中可能包括多个迁移文件: php artisan migrate:rollback #通过向rollback命令提供step选项,可以回滚有限数量的迁移。...UsersTableSeeder::class, Users2TableSeeder::class, ]); } } 参考 https://laravel.com.../docs/9.x/migrations https://laravel.com/docs/9.x/seeding
这篇文章我们来简单梳理一下Laravel中提供的异常处理能力,然后讲一些在开发中使用异常处理的实践,如何使用自定义异常、如何扩展Laravel的异常处理能力。...'', $line = 0, $context = []) { if (error_reporting() & $level) { throw new ErrorException.../** * Convert PHP errors to ErrorException instances....param string $file * @param int $line * @param array $context * @return void * * @throws \ErrorException...message, $file = '', $line = 0, $context = []) { if (error_reporting() & $level) { throw new ErrorException
在对数据库进行操作之前,需要先创建数据表,在诸如 Laravel 这种现代框架中,通过代码驱动让数据表结构的定义变得非常简单。...每个迁移文件中包含一个迁移类,这个迁移类有两部分组成:负责执行数据库迁移的 up 方法,以及负责回滚此次迁移的 down 方法。...以 Laravel 自带的 users 表迁移文件为例,代码如下所示: 正如你所看到的,这个迁移类包含了 up 方法和 down 方法,分别用于创建 users 表和删除 users 表。...创建迁移文件 正如我们在 Artisan 命令中所提到的,Laravel 提供了一个 Artisan 命令 make:migration 帮助我们快速生成数据库迁移文件,该命名包含一个参数,就是要创建的迁移的名称...回滚要稍微复杂点,Laravel 支持多种形式的回滚,如果只回滚最后一个迁移文件的变更,可以通过: php artisan migrate:rollback 来实现,如果要回滚多个迁移文件的变更,可以通过
写在最前 因为平时在用Mybatis的时候可以根据数据库逆向生成文件,我就在想laravel是不是也可以这么做,然后去网上找了一大堆,发现都在推“xethron/migrations-generator...”这个库,但是很明显作者从2017年之后,就没有再维护过了,很显然是不适合laravel9.x去用的,所以我找到了一个可以完美平替的库 生成迁移 首先需要在config/database.php配置好数据库的连接信息...(亲测支持表前缀),然后使用composer安装库 composer require kitloong/laravel-migrations-generator 之后使用laravel的artisan就可以逆向生成迁移文件了...# 为所有表生成迁移 php artisan migrate:generate # 为指定表生成迁移 php artisan migrate:generate --tables="table1,table2...-default-index-names 不使用数据库索引进行迁移 --default-fk-names 不使用数据库外键进行迁移 --use-db-collation 使用现有数据库排序规则生成迁移
lumen event 与 php7 扩展 event 冲突 系统报错日志 [2020-03-17 15:27:37] lumen.ERROR: ErrorException: Cannot declare...class Event, because the name is already in use in /home/web/vendor/laravel/lumen-framework/src/Application.php...', 653, Array) #1 /home/web/vendor/laravel/lumen-framework/src/Application.php(653): class_alias('IlluminateSupp...', 'Event') #2 /home/web/vendor/laravel/lumen-framework/src/Application.php(631): LaravelLumenApplication...', Array) #8 /home/web/vendor/laravel/lumen-framework/src/Application.php(211): IlluminateContainerContainer
——-+ | Variable_name | Value | +———————+——-+ | innodb_large_prefix | OFF | +———————+——-+ 2.laravel
`deleted_at` is null order by `id` desc) at D:\\phpstudy_pro\\WWW\\projzqb1b\\vendor\\laravel\\framework...\\src\\Illuminate\\Database\\Connection.php:664, ErrorException(code: 0): Packets out of order....Packet size=85 at D:\\phpstudy_pro\\WWW\\projzqb1b\\vendor\\laravel\\framework\\src\\Illuminate\\Database...268435456 bytes exhausted (tried to allocate 842087056 bytes) at D:\\phpstudy_pro\\WWW\\projzqb1b\\vendor\\laravel...代码中的判断,可能会出现问题,尤其是一些 数字类型的 === 比对 希望得到的结果:同时满足 PDO::ATTR_EMULATE_PREPARES => true 和结果集数据类型不被隐式转换 解决方案:Laravel
本文会详细的介绍 laravel 异常处理的源码。 PHP 异常处理 本章节参考 PHP 错误异常处理详解。 异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法。...Laravel 异常处理 laravel 的异常处理由类 \Illuminate\Foundation\Bootstrap\HandleExceptions::class 完成: class HandleExceptions...($e); } else { $this->renderHttpResponse($e); } } FatalThrowableError 是 Symfony 继承 \ErrorException...{ $message = $e->getMessage(); $severity = E_ERROR; } \ErrorException...message, $file = '', $line = 0, $context = []) { if (error_reporting() & $level) { throw new ErrorException
本文会详细的介绍 laravel 异常处理的源码。 PHP 异常处理 本章节参考 PHP 错误异常处理详解。 异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法。...Laravel 异常处理 laravel 的异常处理由类 \Illuminate\Foundation\Bootstrap\HandleExceptions::class 完成: class HandleExceptions...($e); } else { $this->renderHttpResponse($e); } } FatalThrowableError 是 Symfony 继承 \ErrorException...else { $message = $e->getMessage(); $severity = E_ERROR; } \ErrorException...message, $file = '', $line = 0, $context = []) { if (error_reporting() & $level) { throw new ErrorException
Laravel 作为目前流行的 PHP 应用框架,受到了不少开发者的青睐。当 Serverless 遇上 Laravel,又将给开发者带来怎样的惊喜呢?...如今,Serverless 应用控制台 给出了答案,通过控制台,不改一行代码,完美迁移您的 Laravel 应用上云。...Serverless 应用控制台功能优势 模版或本地项目快速部署 应用层级资源展示与管理 基于代码托管持续构建 应用层级监控图表 部署日志查询 快速体验框架迁移教程 部署前提:您的账号已开通 Serverless...2.填入您的应用名称,【创建方式】选择【应用模版创建】,选择 Laravel 框架。 ?...这里,无需一行代码更改,就完成了将您的 Laravel 应用迁移至 Serverless 的操作,并可以进行应用的监控管理,持续开发,享受 Serverless + Laravel 带来的众多优势。
今天在更新Laravel-admin:1.6.0提示没有对应的包,后面才发现需要使用官方或者 Laravel-China 的 composer 镜像,phpcomposer 镜像已经停止维护了。...怎么从 phpcomposer 的 Composer 镜像迁移到 Laravel China 维护的镜像? 1....配置新镜像 composer config -g repo.packagist composer https://packagist.laravel-china.org 2....参考自https://laravel-china.org/wikis/16722
本文介绍了如何将传统的php+nginx的laravel框架搭建的web项目如何迁移部署到云函数的过程,对于原理如果清楚了的话,同样可以应用到其他的框架上。...对比于传统方式,Serverless有以下的一些优点: image.png 知识点 如何将laravel框架改造部署到云函数 如何实践crm系统部署云函数的整个流程 image.png 步骤一...链接(https://www.jetbrains.com/phpstorm/) laravel框架的crm系统代码包 步骤二:laravel框架代码改造和入口函数实现 1 在代码根目录下新建一个...], 'body' => $contents ); } } image.png 3 laravel...框架改造,由于laravel写缓存和日志是分别写在storage/framework和storage/logs目录下面,而对于云函数为了保证代码包一致性,对于代码包目录是不可写的,我们需要将日志和缓存写到
下面是我们整理的php的laravel学习的常见的错误以及解决的办法,我还会持续更新,请关注 ---- ---- 错误1: 错误代码: Symfony \ Component \ Debug \ Exception...enctype="multipart/form-data"”单词写错 解决办法: 在表单“enctype="multipart/form-data"”修改正确 ---- ---- 错误3: 错误代码: ErrorException
下面是我们整理的php的laravel学习的常见的错误以及解决的办法,我还会持续更新,请关注 ---- ---- ## 错误1: 错误代码: Symfony \ Component \ Debug...="multipart/form-data"”单词写错 解决办法: 在表单“enctype="multipart/form-data"”修改正确 ---- ---- ## 错误3: 错误代码: ErrorException
word2.mp4', 'Word基本界面'), (3, 'word', 'word3.mp4', 'Word新建'), (4, 'word', 'word4.mp4', 'Word保存'); 我需要的Laravel...的迁移插入语句长这样: DB::table('media')->insert([ [ 'MediaID' => 1, 'type' => 'word', 'filename'