Heim >PHP-Framework >Laravel >[Neue Funktion in Laravel 8] Verwenden Sie schema:dump, um Migration und Tests zu beschleunigen
eingeführt, um die neue Funktion von Laravel 8 vorzustellen: Verwenden Sie SCHEMA: DUMP, um die Migration und den Test zu beschleunigen, ich hoffe, Freunden in Not zu helfen!
Laravel 8 wird später in diesem Jahr einen neuenschema:dump
-Befehl veröffentlichen. Dieser Befehl ist für bestehende Projekte nützlich, da er alte, nicht mehr benötigte Migrationen entfernt und den Test- und CI-Prozess beschleunigt. Taylor Otwell erklärt diese Funktion in seinem Pull-Request:
Dieser PR fügt den Befehl
php artisan schema:dump
hinzu, der mysqldump oder pgdump verwendet, um den aktuellen Status des Schemas zu speichern in der Datei „database/schema/{connection}-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=pgsqlNachdem Sie🎜2. Dank der Schemadatei läuft der Test viel schneller und Laravel muss nicht alle Migrationen während des Testvorgangs durchführen. 🎜🎜Der Befehl wird in Ihrem Projekt so aussehen: 🎜rrreee🎜Diese Funktion wurde in den Zweigschema:dump
ausgeführt haben und die Schema-Dump-Datei im Projekt vorhanden ist, können Sie die alte Migrationsdatei löschen, die Sie in die Produktion migriert haben. Diese Funktion löst zwei Probleme: 1. Es löscht alte Migrationsdateien im Schemaordner, der in alten Projekten groß sein kann.master
integriert, was bedeutet, dass sie in Laravel 8 verfügbar sein wird. Um mehr über diese Funktion zu erfahren, ist der 🎜8.x Schema Dump🎜 die beste Anlaufstelle. 🎜🎜🎜Originaladresse: https://laravel-news.com/schema-dump🎜🎜Übersetzungsadresse: https://learnku.com/laravel/t/43497🎜🎜
Das obige ist der detaillierte Inhalt von[Neue Funktion in Laravel 8] Verwenden Sie schema:dump, um Migration und Tests zu beschleunigen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!