2014-06-18 20 views
0

도메인 클래스에 새 필드를 추가하여 생성 된 테이블의 속성 집합을 업데이트합니다. 이 도메인 클래스가 있습니다.grails 도메인 클래스 업데이트

Class Book { 
String name 
    static constraints = { 
    name nullable:false 
    } 

String toString() { 
     return name 
} 
} 

생성 된 GORM에는 ID 및 버전과 함께 이름이 포함됩니다. 내가 내 모든 이전 데이터를 삭제하기 때문에 DataSource.groovycreate-drop을 사용하지 않으

Class Book { 
    String name 
    String ISBN 
     static constraints = { 
     name nullable:false 
     ISBN nullable:true 
     } 

    String toString() { 
      return name 
    } 
    } 

을 다음과 같이 지금은 예약 도메인 클래스에 ISBN을 추가 할 수 있습니다. 내 DataSource.groovy

dataSource { 
     dbCreate = "update" 
     url = "jdbc:jtds:sqlserver://localhost:1433/databaseName" 
     username = "username" 
     password = "password" 
    } 

내가 GORM 테이블을 예약 ISBN 필드를 추가 할 ,, 다음과 같습니다. 그러나 그 일은 일어나지 않습니다. 내가 어디서 잘못한거야?

나는 트릭을 할해야 버전 2.1.1

답변

3
dataSource { 
    dbCreate = "update" 
} 

을 SQL 서버 2008을 사용하고 Grails를하고 있습니다. 그것은 테이블을 삭제하지 않고 db를 업데이트합니다.

+0

제가 그 일을했지만 작동하지 않습니다, 제 질문에 언급했습니다 ... – sikander

+1

이 필드는 각 환경에 대해 정의되어 있습니까? 시작 로그도 확인하십시오. 스키마가 변경되지 않은 경우 몇 가지 경고가 표시되어야합니다. – injecteer

2

이 필드는 SQL Server에서 손쉽게 작성해야합니다. 모든 도구가 있기 때문에 SQL Server에서 쉽게 사용할 수 있습니다. 따라서 grails database migration plugin 설명서를 살펴 봐야합니다. 그것은 이미 grails 버전에 설치되어 있어야합니다

관련 문제