2010-06-17 7 views
1

이 질문에는 심포니가 많이 포함되어 있지만 symfony가 아니라 YAML 만 알고있는 사람이 따라 다니기에 충분히 쉽습니다.YAML에 상속이 가능합니까?

내 symfony 모델은 3 단계 프로세스로 구성됩니다. 먼저 MySQL에서 테이블을 만듭니다. 둘째, symfony 명령 (symfony doctrine : build-schema)을 실행하여 테이블 구조를 YAML 파일로 변환합니다. 셋째, YAML 파일을 PHP 코드로 변환하기 위해 symfony 명령 (symfony doctrine : build-model)을 실행합니다.

다음은 문제입니다. 데이터베이스에 symfony 코드로 끝내고 싶지 않은 테이블이 있습니다. 예를 들어 두 테이블이 있다고 가정 해 봅시다. 하나는 my_table이고 다른 하나는 wordpress입니다. 내가 생각 끝나는 YAML 파일은 아래와 같다 다음 wordpress 테이블 내 심포니 모델과 아무 상관 제외하고 좋아요

MyTable: 
    connection: doctrine 
    tableName: my_table 
Wordpress: 
    connection: doctrine 
    tableName: wordpress 

합니다. 그 결과 매번 데이터베이스를 변경하고이 YAML 파일을 생성 할 때마다 수동으로 wordpress을 제거해야합니다. 짜증나!

I는 다음과 같습니다 baseConfig.php 또는 무엇인가라는 파일을 생성 할 수 있도록하고 싶습니다 :

$config = array(
    'MyTable' => array(
    'connection' => 'doctrine', 
    'tableName' => 'my_table', 
), 
    'Wordpress' => array(
    'connection' => 'doctrine', 
    'tableName' => 'wordpress', 
), 
); 

을 어디 내가 할 수 그때는 별도의 파일이 config.php를 호출하거나 뭔가 수 기본 설정을 수정합니다

unset($config['Wordpress']); 

그래서 제 질문은 다음과 같습니다에 (sfYaml :: 부하() 무엇을 같은 YAML INTO PHP 코드를로드 반대로) 실행 PHP 코드로 YAML을 변환 할 수있는 방법이있다 이런 종류의 일을 성취합니까? 또는 YAML 상속을 성취 할 수있는 다른 방법이 있습니까? 감사합니다, 제이슨

+3

: 그런데

, 여기에 내가 쓰기 결국 플러그인입니다. 당신은 이미 염두에두고 해결책을 가지고, 그에 따라 물었다. 근본적인 문제, 즉 Doctrine의 스키마 빌더가 특정 테이블을 무시하도록 만드는 방법에 대해 물어 봄으로써 더 나은 서비스를 제공 할 수 있습니다. – Charles

답변

0

다른 방법 : 심포니는이 작업을 수행하지만, Doctrine supports hand-built schema files 드릴 것입니다 경우

는 잘 모르겠어요. 수동으로 동기화를 유지해야하지만 테이블을 얼마나 많이 변경했는지에 따라 관리가 가능할 수 있습니다.

관련 문제