Php 移植到Laravel:从原始SQL转储迁移

Php 移植到Laravel:从原始SQL转储迁移,php,laravel,postgresql,database-migration,laravel-5.6,Php,Laravel,Postgresql,Database Migration,Laravel 5.6,在我的项目中,我正在从Codeigniter转移到Laravel,同时我也开始使用phpunit测试。在这个项目中,有许多遗留数据库没有任何类型的迁移。我想从中自动生成用于集成测试的测试数据库 但我的想法中有一个刺: 如何自动生成现有的测试数据库,并在需要时对其进行核爆?现有项目中没有数据库迁移,因此我需要在新生成的项目中创建它们 到目前为止,我使用pgdump(我使用postgresql风格作为我的数据库)生成了我的数据库转储。转储文件是一个sql文件。我还使用以下命令创建了初始迁移: php

在我的项目中,我正在从Codeigniter转移到Laravel,同时我也开始使用phpunit测试。在这个项目中,有许多遗留数据库没有任何类型的迁移。我想从中自动生成用于集成测试的测试数据库

但我的想法中有一个刺: 如何自动生成现有的测试数据库,并在需要时对其进行核爆?现有项目中没有数据库迁移,因此我需要在新生成的项目中创建它们

到目前为止,我使用
pgdump
(我使用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代码

您可以获得一些生成器软件包,这些软件包将读取数据库并生成所需的迁移。我们在过去从另一个框架转换到laravel时已经这样做了。这不是来自转储文件,而是来自原始数据库本身,但我希望它能有所帮助


此解决方案是否能够处理诸如foreighn数据库包装器和foreighn表之类的内容?我不确定我是否诚实,我从未尝试过!如果您发现它确实存在,或者有一个类似的包完成了我想知道的工作,即使它查找外部表,但没有正确地生成它们,它也会像postgresql的普通表一样生成它们。