【Laravel 8新功能】使用schema:dump来加速Migration和测试

发布时间 - 2020-08-11 00:00:00    点击率:

下面由Laravel教程栏目给大家介绍Laravel 8新功能:使用schema:dump来加速Migration和测试,希望对需要的朋友有所帮助!

laravel 8 将于今年晚些时候发布一个新的 schema:dump 命令。 此命令对现有项目非常有用,因为它删除了不再需要的旧迁移并加快了测试和 ci process。 taylor otwell 在他的 pull request 中解释了此功能:

此PR增加了 php artisan schema:dump 命令,该命令使用 mysqldump 或 pgdump 将 schema 的当前状态转储到 database/schema/{connection}-schema.mysql 文件中。当此文件存在并且 php artisan migration 或 php artisan migration:fresh 已运行并且尚未对数据库z执行任何迁移(迁移表为空)时,此架构文件将首先加载到数据库中,然后所有未完成的迁移将执行。 这意味着该 schema 文件通常仅在本地开发或 CI 测试期间有效使用。 在生产中,您通常已经具有过去运行的迁移,因此永远不会触发此 schema 文件。

运行 schema:dump 并且项目中存在 schema 转储文件后,您可以删除已将其迁移到生产环境的旧迁移文件。

此功能解决了两个问题:

1、它将清除 schema 文件夹中的旧迁移文件,这些文件在旧项目中可能会很大。

2、由于有了 schema 文件,测试的运行速度要快得多,并且 Laravel不 需要在测试过程中执行所有迁移。

该命令在您的项目中将如下所示:

php artisan schema:dump

# 自动清理旧迁移文件
php artisan schema:dump --prune

# 指定数据库链接
php artisan schema:dump --database=pgsql

此功能已合并到 master 分支中,这意味着它将在 Laravel 8 中可用。要了解有关此功能的更多信息,最好的途径是 8.x Schema Dump 。

原文地址:https://laravel-news.com/schema-dump

译文地址:https://learnku.com/laravel/t/43497


# php  # laravel  # mysql  # 架构  # database  # 数据库  # https  # 您的  # 最好的  # 这意味着  # 将在  # 您可以  # 将其  # 将于  # 得多  # 给大家  # 更多信息 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Python文件流缓冲机制_IO性能解析【教程】  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  如何打造高效商业网站?建站目的决定转化率  高端网站建设与定制开发一站式解决方案 中企动力  如何在建站之星网店版论坛获取技术支持?  如何正确选择百度移动适配建站域名?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何实现模型的全局作用域?(Global Scope示例)  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  简单实现Android文件上传  Laravel如何保护应用免受CSRF攻击?(原理和示例)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  制作企业网站建设方案,怎样建设一个公司网站?  高防服务器如何保障网站安全无虞?  Laravel如何实现多对多模型关联?(Eloquent教程)  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  如何挑选高效建站主机与优质域名?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  如何快速查询网址的建站时间与历史轨迹?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  使用C语言编写圣诞表白程序  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  如何快速搭建个人网站并优化SEO?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  公司门户网站制作流程,华为官网怎么做?  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  高端云建站费用究竟需要多少预算?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  Laravel如何处理表单验证?(Requests代码示例)  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?