Попробуйте определить второе соединение с базой данных в конфигурации вашей базы данных:
/** config/database.php */
// ...
'connections' => [
'public_schema' => [
'driver' => 'pgsql',
'database' => env('DB_DATABASE'),
// ...
'schema' => 'public',
],
'reports_shema' => [
'driver' => 'pgsql',
'database' => env('DB_DATABASE'),
// ...
'schema' => 'reports',
],
],
// ...
Затем установите соединение в вашей модели (это полезно для выполнения операций Eloquent / Query Builder):
class CampaignReport extends Model
{
protected $connection = 'reports_schema'; // <----
protected $table = 'campaign_reports';
protected $fillable = [
'campaign',
'currency'
];
// ...
}
Конечно, когда вы выполняете миграцию, которая должна быть запущена в соединении, отличном от используемого по умолчанию, вы должны указать его:
public function up()
{
DB::statement('CREATE SCHEMA IF NOT EXISTS reports');
Schema::connection('reports_schema')->create('campaign_reports', function (Blueprint $t)
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
{
$t->bigIncrements('id');
$t->string('campaign')->nullable();
$t->string('currency')->nullable();
});
}
Кстати, обновите ключ базы данных по умолчанию .env
наэто:
DB_CONNECTION=public_schema