2015-01-20 3 views
7

교리 캐쉬를 redis로 유지하고 배포를 위해 capistrano를 사용합니다. 엔티티에서 필드를 제거해야만 모든 것이 작동합니다.배포시 redis에서 교리 캐쉬를 삭제하십시오.

[ReflectionException] ** [ 속성 엔티티에서 \ PlayerRecord : $ shirtNumber이

$shirtNumber가 존재하지 않습니다

게시물 작곡가의 명령을 설치

우리가 오류가 같이 얻을 실행 우리가 제거한 분야. 계속하려면 doctrine 캐시를 지울 필요가 있지만 redis 데이터베이스에 있기 때문에 캐시가 생산과 공유됩니다.

질문은 어떻게 배포마다 redis에 대한 연결 설정을 동적으로 변경할 수 있습니까? 내 마음에 와서 유일한 아이디어가 있습니다 :

  1. 가 심볼릭 링크됩니다 다른 파일에 연결 설정 레디 스
  2. 이동을 배포 각각 변경됩니다 배포
  3. 사용 환경 변수의 시작에 parameters.yml를 수정 구성 중 하나

다른 생각이나 의견이 있습니까?

+0

이이 문제는 HTTP보고되었다 : //www.doctrine-project합니다. org/jira/browse/DDC-3230하지만 아직 해결되지 않았습니다. –

답변

3

그래서 나는 내 자신의 지식 부족 때문에 일을 과장하려고 노력한 것 같습니다.

은 내가 SncRediBundle을 사용하고 Doctrine Cache namespaces

을 사용하여 문제를 해결하고, 솔루션이 설정 사용하기 간단했다 :

doctrine: 
    metadata_cache: 
     client: cache 
     namespace: "%kernel.root_dir%" 
     entity_manager: default