2012-01-10 2 views
0

내 grails 애플리케이션과 함께 simpleDB GORM을 사용하고 있습니다. 그러나 simpledb는 개발 모드에서 엄청난 드래그를하는 동안 몇 초가 걸리므로 빠르게 개발되지 않습니다. 도메인 클래스는 코드에서 두 줄deved 모드에서 메타 프로그래밍으로 simpledb mapWith를 제거

String id 
static mapWith = "simpledb" 

그래서, 내 질문은, 그것을 제거 할 수 있습니다/도메인 즉석에서이 두 선언을 숨길를 다음 경우에만 SimpleDB의 행동에 와서 내가 이해에서

어떤 종류의 깃발에 따라 수업?

같은 질문은

, 나는

  • 가 (실제로 도메인 클래스)
  • 클래스에서 변수 선언을 제거 할 수있는 대부분의 아마 메타 프로그래밍, 그루비의 방법이 다르게 요구 클래스에서 정적 mapWith 선언 제거 (도메인 클래스 다시)
  • 마지막으로, 모든 도메인 클래스를 반복하고 부트 스트랩에서 처음 두 작업을 수행 할 수있는 방법이 있습니까?

답변

1

mapWith = "simpledb"를 제거하면 Hibernate와 매핑 될 것이고, dev 및 SimpleDB GORM의 Hdash Gorm을 개발 모드로 개발하는 것은 그리 좋은 생각이 아닙니다. 가장 큰 문제는 애플리케이션이 SimpleDB는 궁극적으로 일관성을 기반으로하기 때문에 매우 다르게 작동합니다. 이는 관계형 DB의 일관성있는 이전 세계와 비교할 때 생산시 불쾌한 놀라움을 얻을 수 있음을 의미합니다.

simpleedb 플러그인을 사용해 주셔서 감사합니다!

로마.

+0

을 참조하십시오. 안녕하세요, Roman, SimpleDb와 RDBMS의 차이점은 SimpleDb만의 차이점을 이해하고 있습니다. SimpleDb는 매우 간단한 변경 작업을 할 때도 Dev 모드에서 속도가 느려지므로 문제가됩니다. 그래서 나는 RDBMS를 하루 동안 dev 모드에서 사용할 수 있을지 궁금해했고, 결국 SimpleDB를 켜고 모든 것을 다시 테스트 할 수 있고 셀레늄을 사용할 수도 있으므로 많은 시간을 낭비 할 필요가 없습니다. 시각. – Sap

+0

또한 mapWith = "simpleDb"를 제거해도 작동하지 않는 것 같습니다. 또한 모든 domainClasses에서 "String id"감속도 제거해야합니다. – Sap

1

나는 SimpleDB에 익숙하지 않아요하지만 난 당신의 mapWith이 보였다 경우처럼 있으리라 믿고있어 :

static mapWith = "" 

SimpleDB를 사용하지 것이다.

그래서 당신은 당신의 Config.groovy 파일이를 추가 할 수

environments { 
    production { 
     mapWith = "simpleDB" 
    } 
    development { 
     mapWith = "" 
    } 
    test { 
     mapWith = "" 
    } 
} 

가 그런 다음의 구성 값에 액세스 할 수 있습니다 : 그럼

import org.codehaus.groovy.grails.commons.* 

static mapWith = ConfigurationHolder.config.mapWith 

을 당신이 얻을 것이다 당신이 생산 전쟁을 만들 때 "simpleDB"그렇지 않으면 빈 문자열이 생깁니다. Config.groovy를 사용하는 방법에 대한 링크는 다음과 같습니다. http://grails.org/doc/latest/guide/conf.html#config

내가 간단한 데이터베이스의 작동 방식에 대해 사과하지 않으면 사과드립니다.

+0

각 도메인 클래스에 mapWith를 추가해야합니다. config.groovy에 무언가를 추가하면 domainclass에 지정된 것보다 우선합니다. – Sap

+0

Note : 빈 문자열을 사용하면 (적어도 Grails 2.2.0에서는) 작동하지 않는 것처럼 보입니다. 대신 기본값을 사용하려면'static mapWith = 'GORM'이어야합니다. [GrailsDomainClass.GORM] (https://github.com/grails/grails-core/blob/d9c23cfb10cf580db6c6fe8a5ff91d915e6e650d/grails-core/src/main/groovy/org/codehaus/groovy/grails/commons/GrailsDomainClass.groovy) – GreenGiant

0

그것을 시도하지 않은,하지만 난 주장이 link 건너 온 :

SimpleDB는/dev에 로컬 SimpleDB의 서버를 제공, 그래서 당신은 심지어 현재 SimpleDB의 계정을하지 않고, 오프라인을 개발할 수 있습니다.

+0

어떻게 그 질문에 대한 대답이 묻습니까? – Leigh