2013-01-31 4 views
0

Google 검색의 오랜 시간 동안 나는 이상적인 솔루션을 찾고, 번들을위한 두 번째 DB 연결을 만드는 방법. 내 시스템은 여러 번들로 구성되어 있지만 그 중 하나는 원본 DB뿐 아니라 다른 DB에도 연결해야합니다 (한 번에 2 개의 연결). 번들에 대한 자체 데이터베이스 연결을 만드는 방법

나는 나의 번들() 메소드 부팅에이 방법을 시도 :

$connectionFactory = $this->get('doctrine.dbal.connection_factory'); 
$connection = $connectionFactory->createConnection(array(
    'driver' => 'pdo_mysql', 
    'user' => 'my_user', 
    'password' => 'my_pass', 
    'host' => '', 
    'dbname' => 'my_dbname', 
)); 
$this->container->set('doctrine.dbal.new_connection', $connection); 
$em = $this->get('doctrine')->getEntityManager('new'); 

그러나 오류 발생 : 이름 교리 EntityManager를 "새로운"존재하지 않습니다.

그리고 내 config.yml에 두 번째 연결을 추가하려고 내가

$this->get('doctrine')->getEntityManager('second_connection') 

로를 호출하면이 같은 오류가 발생.

편집 : 오류가 제거되었습니다. doctrine.dbal.connections의 "mappings"매개 변수 설정이 잘못되어 발생했습니다.

이제 번들로 처리되는 데이터베이스에 대한 연결을 만들고 싶습니다. 그리고 app/config/config.yml 또는 다른 설정은이 연결을 알지 못합니다. 새로운 번들의 사용자 열기 페이지가 자신의 연결과 엔티티 관리자를 처리 할 때 자동으로 새로운 연결을 만들고 2 개 이상의 데이터베이스에 액세스 할 수 있습니다. 먼저 Become이 app/config/config.yml의 원본이고 두 번째가 번들 연결입니다.

doctrine.dbal의 app/config/config.yml과 doctrine.orm의 엔티티 관리자에서 미리 데이터베이스 연결을 시도해 보았습니다. 그건 잘 작동하지만, 위의 쓴 것처럼 나를 위해 inconvinient.

Exixts another sensible solution, 해결 방법?

답변

0
+0

당신은 parameters.ini에 생각 앱/설정/parameters.ini 파일을 구성합니다? 나는 db 데이터를 매개 변수에 삽입하거나 config.yml에 직접 삽입하는 것은 중요하지 않다고 생각한다. 그리고 정적 인 두 번째 연결은 없을 것입니다. 역동적이어야하고 "비행 중"코드로 작성되어야합니다. – gavec

+0

Er, yes, parameters.ini는 제가 의미했던 것입니다. 동적 인 방법을 모르는 나는 두려워. – lee

관련 문제