Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es eine Laravel-Möglichkeit, eine .SQL-Datei auszuführen, um Daten zu laden

Es gibt keine Möglichkeit, einen DB-Dump sofort mit artisan zu importieren . Sie könnten jedoch einen benutzerdefinierten artisan erstellen Befehl:

php artisan make:console DbImportCommand

und lassen Sie es dann einen Befehl ausgeben wie:

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

Es kann jedoch vorteilhaft sein, einen Befehl zu erstellen, der einen Seeder (oder eine Reihe von Seedern) ausführt.

php artisan make:console importHistoricalData

und dann bestimmte Seeder ausführen lassen:

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

Wenn Sie irgendwann die Datenbank löschen oder in eine neue Umgebung wechseln, ist es so einfach, wie Sie einfach die Seeder erneut ausführen.