我有几个到 mysql 和 oracle 数据库的连接,该解决方案“适用于”所有连接,并且它在 mysql 上引发错误。如何将其限制为仅限 Oracle 连接?
在废弃的监听器中我可以指定连接
my.oracle.listener: 类:Doctrine\DBAL\Event\Listeners\OracleSessionInit 标签: - { 名称:doctrine.event_listener,事件:postConnect,连接:oracleBase }
但在这个新版本中,没有。
您必须使用新的中间件系统来指定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
{
}