Symfony 6 + Doctrine - 如何为特定连接配置 Doctrine\DBAL\Driver\OCI8\Middleware\InitializeSession?

问题描述 投票:0回答:1

我有几个到 mysql 和 oracle 数据库的连接,该解决方案“适用于”所有连接,并且它在 mysql 上引发错误。如何将其限制为仅限 Oracle 连接?

在废弃的监听器中我可以指定连接

my.oracle.listener: 类:Doctrine\DBAL\Event\Listeners\OracleSessionInit 标签: - { 名称:doctrine.event_listener,事件:postConnect,连接:oracleBase }

但在这个新版本中,没有。

doctrine symfony6
1个回答
0
投票

您必须使用新的中间件系统来指定Oracle连接 扩展InitializeSession就足够了

<?php

namespace App\Middleware;

use Doctrine\Bundle\DoctrineBundle\Attribute\AsMiddleware;
use Doctrine\DBAL\Driver\OCI8\Middleware\InitializeSession;

#[AsMiddleware(connections: ["database1", "database2"])]
class OracleMiddleware extends InitializeSession
{
}
© www.soinside.com 2019 - 2024. All rights reserved.