alexandruflorea/quick-laravel-migrations

一个用于比Laravel经典迁移系统更快导入数据库转储的包。

dev-master 2020-12-19 09:02 UTC

This package is auto-updated.

Last update: 2024-09-19 17:21:11 UTC


README

一个为比Laravel经典迁移系统更快导入数据库转储而制作的composer包

它可以用来替换相对较慢的

  • $this->runDatabaseMigrations()
  • $this->seed()
  • artisan migrate:fresh
  • artisan migrate:fresh --seed

安装后您可以进行以下操作

php artisan db:dump
php artisan db:load {--seed}

您还可以替换

use Illuminate\Foundation\Testing\DatabaseMigrations;

use QuickDatabaseMigrations\QuickDatabaseMigrations;

它使迁移测试与db:load一样快,代价是在迁移|种子更改后手动运行db:dump(测试后没有回滚)

文档 & 安装

安装

composer require alexandruflorea/quick-laravel-migrations

将这些添加到您的/app/Console/Kernel.php中

这启用了db:dump和db:load

use QuickDatabaseMigrations;
/**
 * The Artisan commands provided by your application.
 *
 * @var array
 */
protected $commands = [
    \QuickDatabaseMigrations\MySqlDump::class,
    \QuickDatabaseMigrations\MySqlLoad::class
];

为了在测试期间获得更快的迁移,替换

use Illuminate\Foundation\Testing\DatabaseMigrations;

use QuickDatabaseMigrations\QuickDatabaseMigrations;

文档

在同一命名空间下提供了3个实用类

QuickDatabaseMigrations

定义了迁移数据库的钩子

它需要一个db:dump作为先决条件

在文件顶部粘贴此内容

use QuickDatabaseMigrations\QuickDatabaseMigrations;

并在类顶部粘贴此内容

use QuickDatabaseMigrations;

使用

$this->runDatabaseMigrations();     //fast migrate:fresh
$this->runDatabaseSeedMigrations(); //fast migrate:fresh --seed
$this->baseRunDatabaseMigrations();     //default migrate:fresh
$this->baseRunDatabaseSeedMigrations(); //default migrate:fresh --seed

MySqlDump

一种快速生成转储文件的方法

您可以完全忽略此内容,并手动将转储文件放在/QuickMigration/sql.dump/QuickSeedMigration/sql.dump

php artisan db:dump

MySqlLoad

一种快速加载转储文件的方法

您也可以忽略此内容,如果您想每次都手动导入它

php artisan db:load

支持的版本

Laravel 5.6+

鸣谢

👑 @GaussianWonder - 主要开发者

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。