2012-07-24 2 views
1

다른 웹 애플리케이션에서 관리하는 기존 데이터베이스 스키마가 있습니다. 내가 만들고있는 플레이 프레임 워크는이 기존의 스키마를 읽거나 쓸 필요가 있지만, 플레이가 시작되면 테이블을 삭제하고 다시 생성합니다.PlayFramework로 스키마 생성을 피하는 방법

어떻게 테이블 만들기를 해제합니까?

업데이트 :

  • 플레이 1.2.5
  • MySQL의

갱신 2 : 컨트롤러있어서 내부

@Entity(name="mytable_name") 
public class Sample extends Model {  
    public Integer some_value; 
    public String fullname; 
} 

...

List<Sample> list = Sample.findAll(); 

테이블에 데이터가 있습니다. "play test"를 실행하고 findAll을 호출하는 컨트롤러 메서드를 실행하고 테이블을 삭제하고 다시 만들고 이제 비 웁니다.

스키마의 데이터 유형이 텍스트 필드가 다른 크기와 완벽하게 일치하지 않습니다. 나는 쿼리 오류를 기대하고 있었지만 이것은 아니다. 당신이 JPA와 함께 플레이 1.x에서를 사용하는 경우

답변

2

당신은 당신의 application.conf 공식 evolutions' documentation에서

jpa.ddl=none 
+0

나는 그것을 시도했지만 슬프게도, 결과를 변경하지 않았다. 여전히 테이블과 모든 내용을 삭제 한 다음 다시 테이블을 비 웁니다. findAll() 호출 후 해당 작업을 수행합니다. – darren

+0

@ darren : 다른 대답에서 제안한대로 evolutions를 비활성화 했습니까? – biesior

+0

네, 저도 변경했습니다. – darren

2

이 줄을 추가 할 수 있습니다

데이터베이스가 구성된 경우 에볼루션이 자동으로 활성화됩니다

application.conf 및 진화 스크립트가 있습니다. evolutions.enabled을 false로 설정하여 을 사용 중지 할 수 있습니다. 예를 들어, 테스트가 자체 데이터베이스를 설정하면 환경 테스트 에 대한 evolutions를 비활성화 할 수 있습니다.

+0

2.0입니까? 그렇다면 Evolutions를 비활성화하는 방법은 무엇입니까? – rOrlig

+0

@ gaurav 이것은 Play 1 샘플이며, Play 2의 경우 해당 문서를 확인하십시오. http://www.playframework.org/documentation/2.0.4/Evolutions | application.conf 파일에서 다음 줄의 주석 처리를 해제해야합니다 :'evolutionplugin = disabled' | 다음 번에 별도의 질문으로 작성 – biesior