DBのdumpのような大量のSQLをLaravelから実行するときはDB::unprepared()
という関数を使うと、実行することができます。
生のSQL文を実行するときはDB::statement()
をよく使いますが、複数のSQL文には対応していません。
以下はファイルに入っている複数のSQL文を読み込んで一括で実行するサンプルコードです。
$sql = file_get_contents(database_path('dump.sql'));
DB::unprepared($sql);