alexandruflorea / quick-laravel-migrations
一个用于比Laravel经典迁移系统更快导入数据库转储的包。
dev-master
2020-12-19 09:02 UTC
Requires
- laravel/framework: ^5.6|6.*|7.*
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^8.0
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)。请参阅许可证文件以获取更多信息。