Symfony Propel Project : 데이터베이스 재설정없이 스키마를 업그레이드하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2209942

  •  18-09-2019
  •  | 
  •  

문제

Symfony 프로젝트를 서버에 배포했는데 이제 모델을 내부로 변경하고 싶습니다. schema.yml 다른 관련이없는 데이터베이스 테이블을 재설정하지 않고 현재 데이터를 유지합니다. Symfony Propel Project의 Diff / Upgrade 기능이 있습니까?

도움이 되었습니까?

해결책

SFPROPELSQLDIFFPLUGIN (플러그인 저장소에서 구할 수 있음)을 살펴보십시오. 나는 그것을 꽤 오랫동안 사용해 왔으며 그것은 나를 위해 잘 작동했습니다. 예를 들어 완벽하지는 않지만 (예를 들어 스키마에서 SQLType를 지정하는 것과 같은 비표준이 아닌 것과 잘 어울리지는 않지만) 인생을 훨씬 쉽게 만들었습니다.

확산 된 SQL의 실제 실행을 수행하기 위해 플러그인을 신뢰하는 대신 다음을 선호합니다.

./symfony propel : build-sql-diff

이렇게하면 Data Dir에 SQL 파일이 생겨서 스크립트를 수동으로 실행하기 전에 검사/편집 할 수 있습니다.

다른 팁

'propel : build-sql'명령을 사용하여 SQL을 생성 할 수 있습니다. 결과는 자신을 가져올 수있는 유효한 SQL 파일입니다. 우리의 큰 프로젝트에서 우리는 단지 SQL 자체를 추적합니다. 우리는 모델을 만들고 SQL을 생성합니다. 그런 다음 새 생성 SQL을 버전의 SQL이 포함 된 파일로 복사합니다. 테이블을 직접 변경해야하므로 테이블이 생성 대신 변경되는 SQL을 관리하십시오.

Symfony Afaik에서는 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top