기본 DataSource.groovy
은 create-drop
데이터베이스가 처음 때마다 응용 프로그램이 다시 시작에서 다시 생성된다는 것을 의미합니다
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
있습니다. 당신이 다시 시작에 걸쳐 지속 데이터베이스를 원하는 경우
dataSource {
dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
url = "jdbc:h2:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
처럼 뭔가로 변경 (update
에 즉 변화 create-drop
과 url
에서 :mem
제거). 그러나 도메인 클래스에 적용 할 수있는 모든 변경 사항이 update
이 적용 할 수있는 제한된 스키마 변경 내용에 반영 될 수있는 것은 아닙니다. 속성 추가는 정상적으로 수행되어야하지만 속성을 제거하거나 스키마 생성에 영향을주는 제약 조건을 변경하려면 어쨌든 데이터베이스를 삭제하고 다시 만들어야합니다 (응용 프로그램 중지, devDb 파일 삭제 및 다시 시작).
감사합니다. 문제는 예를 들어 수정할 때입니다. Service 클래스를 사용하면 앱을 다시 시작할 필요가 없습니다. 그러나 분명히 Domain 클래스를 수정하면 DB를 삭제할 수 있지만 Bootstrap을 다시 실행하지 않을 정도로 재시작해야합니다. 나는 내가 부트 스트랩에서 다른 클래스로 로직을 이동시킨 다음 이벤트를 통해 재시작 할 때 스크립트를 실행할 수있는 드롭 다운 동작을 유지하려고하는지 추측한다. – Fletch