質問 > 管理機能 > 複数のDBサーバに接続したい |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
Kaoru001 |
投稿日時: 2020/9/19 13:02
対応状況: −−−
|
新米 登録日: 2017/6/12 居住地: 投稿: 2 |
Re: 複数のDBサーバに接続したい ありがとうございます。
まずdbs.optionsに次の様に追加しました $this->register(new \Silex\Provider\DoctrineServiceProvider(), array( 'dbs.options' => array( 'default' => $this['config']['database'], 'database2' => $this['config']['database2'] ) )); 続いて$options2の定義をしました $options2 = array( 'mappings' => $ormMappings ); if (array_key_exists('metadata_cache', $cacheDrivers)) { $options['metadata_cache'] = $cacheDrivers['metadata_cache']; $options2['metadata_cache'] = $cacheDrivers['metadata_cache']; } if (array_key_exists('query_cache', $cacheDrivers)) { $options['query_cache'] = $cacheDrivers['query_cache']; $options2['query_cache'] = $cacheDrivers['query_cache']; } if (array_key_exists('result_cache', $cacheDrivers)) { $options['result_cache'] = $cacheDrivers['result_cache']; $options2['result_cache'] = $cacheDrivers['result_cache']; } if (array_key_exists('hydration_cache', $cacheDrivers)) { $options['hydration_cache'] = $cacheDrivers['hydration_cache']; $options2['hydration_cache'] = $cacheDrivers['hydration_cache']; } 最後にorm.ems.optionsを定義しました $this->register(new \Dflydev\Silex\Provider\DoctrineOrm\DoctrineOrmServiceProvider(), array( 'orm.proxies_dir' => __DIR__.'/../../app/cache/doctrine/proxies', 'orm.em.options' => $options, 'orm.ems.options' => array( 'default' => $options, 'database2' => $options2, ), 'orm.custom.functions.string' => array( 'NORMALIZE' => 'Eccube\Doctrine\ORM\Query\Normalize', ), 'orm.custom.functions.numeric' => array( 'EXTRACT' => 'Eccube\Doctrine\ORM\Query\Extract', ), )); コントローラ側では $db2 = $app['orm.ems']['database2']->getConnection(); $sql = 'SELECT name FROM dtb_xxxx WHERE id in (' . implode($buf, ',') . ')'; $res = $db2->fetchAll($sql, []); と行ないました。 検索は行えるのですが、向き先がdefaultのDBに接続をされています。 getConnectionで、既に接続済みで、getConnectionはスルーされている様で、一旦DB接続をCloseするか、強制的に再接続を行いたいのですが、何か方法はありますでしょうか?? |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
複数のDBサーバに接続したい | Kaoru001 | 2020/9/18 15:41 |
Re: 複数のDBサーバに接続したい | umebius | 2020/9/18 21:41 |
» Re: 複数のDBサーバに接続したい | Kaoru001 | 2020/9/19 13:02 |