Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Existe alguma maneira Laravel de executar um arquivo .SQL para carregar dados


Não há uma maneira de importar um dump de banco de dados pronto para uso usando artisan . No entanto, você pode criar um artisan personalizado comando:

php artisan make:console DbImportCommand

e, em seguida, faça com que ele emita um comando como:

DB::unprepared(file_get_contents('full/path/to/dump.sql'));

No entanto, pode ser vantajoso criar um comando que execute um semeador (ou conjunto de semeadores).

php artisan make:console importHistoricalData

e, em seguida, execute semeadores específicos:
$this->call(OldCompanySeeder::class);
$this->call(OldEmployeeSeeder::class);
// etc....

Se você limpar o banco de dados em algum momento ou mudar para um novo ambiente, é tão simples quanto executar os seeders novamente.