Możesz użyć pliku właściwości określonego w pliku grails.config.locations jako sposobu na eksternalizację konfiguracji źródła danych. Poniżej jest jak ja zazwyczaj skonfigurować projektu Grails:
W moim DataSource.groovy mogę określić to dla środowiska produkcyjnego:
....
....
production {
dataSource {
dbCreate = "update"
driverClassName = "com.myorg.jdbcDriverNotExists"
url = ""
username = ""
password = ""
}
}
....
....
określić właściwości pliku an zewnętrzne w moim Config.groovy:
grails.config.locations = [ "classpath:app-config.properties"]
w pliku właściwości (przechowywane w grails-app/conf /) I określać informacje rzeczywiste źródło danych:
dataSource.driverClassName=oracle.jdbc.OracleDriver
dataSource.url=jdbc:oracle:thin:@host:port:sid
dataSource.username=sa
dataSource.password=secret
Używam również pliku właściwości jako sposobu na przesłonięcie innych wartości znajdujących się w Config.groovy. Po wdrożeniu aplikacji, jeśli muszę zmodyfikować informacje o źródle danych, po prostu edytuję plik /WEB-INF/classes/app-config.properties i restartuję.
Wygląda na to, o co mi chodziło! Dziękuję za jasną i zwięzłą odpowiedź, John :) – miek
To wygląda na świetne rozwiązanie, z wyjątkiem tego, że masz modyfikacje po aktualizacji. Aby uzyskać eksternalizację konfiguracji, zobacz: http://blog.zmok.net/articles/2009/04/22/playing-z-grygami-aplikacja -konfiguracji –
Jak zauważył Brad, to nie jest opłacalne rozwiązanie do wdrożenia wojny . Link, który zamieszcza jest lepszą odpowiedzią. – Mike