В моем проекте я перехожу из Codeigniter в Laravel, также я начинаю использовать тесты phpunit. В этом проекте есть много устаревших баз данных без каких-либо миграций. Из них я хочу автоматически сгенерировать тестовые базы данных для интеграционного тестирования.
Но в моей идее есть проблема: как автоматически сгенерировать существующую тестовую базу данных и обнулить ее, если потребуется? В существующем проекте нет миграций базы данных, поэтому мне нужно создать их во вновь созданном проекте.
До сих пор я генерировал дамп своей базы данных, используя pg-dump
(в качестве базы данных я использую вариант postgresql). Дамп - это файл sql. Я также создал начальную миграцию, используя команду:
php ./artisan make:migration --path ./database/migrations/myDb InitialDb
, которая сгенерировала следующий код:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class InitialDb extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//Read and execute the sql dump.
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//Delete anything except the test data.
}
}
Поэтому я хочу знать, как я могу выполнить SQL-код, сгенерированный из inсгенерированный дамп?