튜토리얼 칼럼에서 소개한 것입니다. SCHEMA: DUMP를 사용하여 마이그레이션 및 테스트를 가속화하고 도움이 필요한 친구들에게 도움이 되기를 바랍니다!
Laravel 8은 올해 말에 새로운schema:dump
명령을 출시할 예정입니다. 이 명령은 더 이상 필요하지 않은 이전 마이그레이션을 제거하고 테스트 및 CI 프로세스 속도를 높이므로 기존 프로젝트에 유용합니다. Taylor Otwell은 pull request에서 이 기능을 설명합니다.
이 PR에는 mysqldump 또는 pgdump를 사용하여 스키마의 현재 상태를 전송하는
php artisanschema:dump
명령이 추가되었습니다. 데이터베이스/스키마/{연결}-schema.mysql 파일에 있습니다.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🎜2. 스키마 파일 덕분에 테스트가 훨씬 빠르게 실행되며 Laravel은 테스트 프로세스 중에 모든 마이그레이션을 수행할 필요가 없습니다. 🎜🎜명령은 프로젝트에서 다음과 같습니다: 🎜rrreee🎜이 기능은schema:dump
를 실행하고 프로젝트에 스키마 덤프 파일이 존재하면 프로덕션으로 마이그레이션한 이전 마이그레이션 파일을 삭제할 수 있습니다. 이 기능은 두 가지 문제를 해결합니다. 1. 이전 프로젝트에서는 용량이 클 수 있는 스키마 폴더의 이전 마이그레이션 파일을 지웁니다.master
브랜치에 병합되었으며 이는 Laravel 8에서 사용할 수 있음을 의미합니다. 이 기능에 대해 자세히 알아보려면 🎜8.x 스키마 덤프🎜를 사용하는 것이 가장 좋습니다. 🎜🎜🎜원본주소 : https://laravel-news.com/schema-dump🎜🎜번역주소 : https://learnku.com/laravel/t/43497🎜🎜
위 내용은 [Laravel 8의 새로운 기능] 스키마:dump를 사용하여 마이그레이션 및 테스트 속도를 높입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!