【发布时间】:2016-02-23 05:55:04
【问题描述】:
我有想要加载到新数据库中的历史数据。
我可以通过运行 MySQL 命令来做到这一点,但我很想知道是否有 artisan 命令可以做到这一点?
【问题讨论】:
标签: mysql eloquent laravel-5.1 laravel-artisan
我有想要加载到新数据库中的历史数据。
我可以通过运行 MySQL 命令来做到这一点,但我很想知道是否有 artisan 命令可以做到这一点?
【问题讨论】:
标签: mysql eloquent laravel-5.1 laravel-artisan
无法使用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....
如果您在某个时候擦除数据库,或者迁移到新环境,这就像再次运行播种机一样简单。
【讨论】: