我有要在新数据库中加载的历史数据。
我可以通过运行MySQL命令来完成它,但我很想知道是否有artisan
命令来执行它?
答案 0 :(得分:7)
没有办法使用artisan
即时导入数据库转储。但是,您可以创建自定义artisan
命令:
php artisan make:console DbImportCommand
然后让它发出如下命令:
DB::unprepared(file_get_contents('full/path/to/dump.sql'));
但是,创建一个运行播种机(或一组播种机)的命令可能更有利。
php artisan make:console importHistoricalData
然后运行特定的播种机:
$this->call(OldCompanySeeder::class);
$this->call(OldEmployeeSeeder::class);
// etc....
如果您在某个时候擦除数据库,或者移动到新环境,那就像再次运行播种器一样简单。