Database design 使用laravel在多个环境中使用多个数据库

Database design 使用laravel在多个环境中使用多个数据库,database-design,laravel-5,architecture,Database Design,Laravel 5,Architecture,我正在编写的Laravel5.2应用程序遇到了一个架构难题。应用程序连接到生产中的多个数据库服务器;我已经为所有的开发人员建立了流浪环境,我们都将生产所需的数据拉入虚拟环境,以确保数据库是生产的镜像。当我们想进行测试时,问题就出现了;我似乎无法将应用程序设置为模型a(连接到DB1)和模型B(连接到DB2)都可以在同一个SQLite文件(在repo预配置文件中)中进行测试。查看示例配置文件可能更有意义: 我的数据库配置文件: <?php return [ 'default' =&g

我正在编写的Laravel5.2应用程序遇到了一个架构难题。应用程序连接到生产中的多个数据库服务器;我已经为所有的开发人员建立了流浪环境,我们都将生产所需的数据拉入虚拟环境,以确保数据库是生产的镜像。当我们想进行测试时,问题就出现了;我似乎无法将应用程序设置为模型a(连接到DB1)和模型B(连接到DB2)都可以在同一个SQLite文件(在repo预配置文件中)中进行测试。查看示例配置文件可能更有意义:

我的数据库配置文件:

<?php

return [
    'default' => 'platform',
    'connections' => [
        'platform' => [
            'driver' => 'mysql',
            'host' => env('PLATFORM_HOST'),
            // ...
        ],
        'product' => [
            'driver' => 'mysql',
            'host' => env('PRODUCT_HOST'),
            // ...
        ],
        'testing' => [
            'driver' => 'sqlite',
            'database' => storage_path().'/testing.db'
        ]
    ]
];

<?php

namespace App\Platform;

use Illuminate\Database\Eloquent\Model;

class ModelA extends Model
{
    protected $connection = 'platform';
    protected $table = 'table_a';
}
<?php

namespace App\Product;

use Illuminate\Database\Eloquent\Model;

class ModelB extends Model
{
    protected $connection = 'product';
    protected $table = 'table_b';
}