#php #laravel
#php #laravel
Вопрос:
Я импортирую SQL-скрипт из команды Laravel, тему, которую я не знаю, как выполнить для извлечения данных, поскольку они не совпадают с атрибутами, которые есть у новой базы данных.
На данный момент мне удалось открыть и прочитать файл, но я не могу придумать, как извлечь данные. Я думал о создании сеялки, но файл также позволяет мне создавать таблицы.
На данный момент это то, что у меня есть в коде
$db = $this->argument('db');
echo "Reading database from: $db n";
echo "n validating extension n";
if (!preg_match('/(.*.)(sql)$/',$db)) {
echo "Format not valid n";
return;
}
echo "n open script n";
$data = fopen('C:/sites/'.$db,"rb");
$content = stream_get_contents($data);
$output = ImportSQL::remove_comments($content);
print_r($output);
exit;
Ответ №1:
Было бы предложено импортировать ваш SQL-файл в какую-нибудь базу данных, а затем поиграть с ним.
Приведенный ниже код предназначен для записи SQL-файла в ту же базу данных.
$sql = file_get_contents('database_file.sql');
DB::unprepared($sql);
Вы можете создать временную базу данных для этой цели в config/database.php
, а затем использовать конфигурацию подключения, например:
DB::connection('mysql2')->unprepared($sql);