Mysql
 sql >> Base de données >  >> RDS >> Mysql

Existe-t-il un moyen Laravel d'exécuter un fichier .SQL pour charger des données

Il n'y a aucun moyen d'importer un vidage de base de données prêt à l'emploi en utilisant artisan . Cependant, vous pouvez créer un artisan personnalisé commande :

php artisan make:console DbImportCommand

puis faites-lui émettre une commande comme :

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

Cependant, il peut être avantageux de créer une commande qui exécute un seeder (ou un ensemble de seeders).

php artisan make:console importHistoricalData

puis faites exécuter des seeders spécifiques :

$this->call(OldCompanySeeder::class);
$this->call(OldEmployeeSeeder::class);
// etc....

Si vous effacez la base de données à un moment donné ou si vous passez à un nouvel environnement, c'est aussi simple que d'exécuter à nouveau les seeders.