2012-05-14 6 views
-2

Symfony2를 사용하여 멀티 테넌트 응용 프로그램을 만들려고합니다.Symfony2를 사용하여 멀티 테넌트 응용 프로그램 만들기

아무도 응용 프로그램에 도달 한 도메인을 기반으로 연결할 데이터베이스를 선택하는 방법을 알고 있습니까? 예. company1.domain.com => db1, company2.domain.com => db2

sfMultiTenantPlugin을 도움이 될 수있는 플러그인을 찾았지만 모두 단점이있는 것 같습니다.

도메인을 기반으로하는 다른 database_name 값을 가지려면 parameters.ini 파일 만 있으면됩니다.

+1

해결책을 찾은 것 같습니다. http://symfony.com/doc/current/cookbook/configuration/external_parameters.html. 이것은 아파치 가상 호스트 설정을 사용하여 데이터베이스 이름과 암호를 전달합니다. – Apot

+0

다중 데이터베이스 *가 다중 거주자 데이터베이스가 아닙니다. –

+0

sfMultiTenantPlugin은 Symfony2가 아닙니다. Symfony2 – Acyra

답변

0

아마도 다음과 같이 할 수 있습니까? Here

그런 다음 스위치를 사용하여 연결 변수를 지정하십시오.

case "company1.domain.com": 
    $dbname = `db1`; 
    etc. 

은 (내가 Symfony2와 아무 경험이 있지만, 그 이외 것처럼 그것은 소리가났다. 내가 잘못 될 수 있습니다.)이 도움이
희망을.

+0

이 예제는 순수한 PHP에서하고 싶은 작업이지만 symfony는 데이터베이스 연결을 스크립트가 아닌 YAML 파일과 ini 파일로 분리합니다. 아마도이 스크립트를 사용하여로드 할 YAML 파일 세트를 선택할 수 있습니다. – Apot

+0

아, 이제 이해합니다. Symfony2 또는 YAML 파일을 다루지 않았으므로 도움이되지 않습니다. 당신이 말한 것처럼 파일을로드하려고합니다. – akester

관련 문제