Как импортировать базу данных с данными в новую базу данных Laravel?

#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);