Je souhaite exécuter une connexion spécifique dans la classe BootStrap en fonction du développement ou du mode de test actuellement utilisé.Init. Personnalisé en mode test/développement dans Grails
Comment est-ce que je peux faire ceci?
Je souhaite exécuter une connexion spécifique dans la classe BootStrap en fonction du développement ou du mode de test actuellement utilisé.Init. Personnalisé en mode test/développement dans Grails
Comment est-ce que je peux faire ceci?
import grails.util.Environment
class BootStrap {
def init = { servletContext ->
def currentEnv = Environment.current
if (currentEnv == Environment.DEVELOPMENT) {
// do custom init for dev here
} else if (currentEnv == Environment.TEST) {
// do custom init for test here
} else if (currentEnv == Environment.PRODUCTION) {
// do custom init for prod here
}
}
def destroy = {
}
}
des documents officiels
Programmatic Environnement Détection
Au sein de votre code, comme dans un script Gant ou une classe d'amorçage, vous pouvez détecter l'environnement en utilisant la classe GrailsUtil:
import grails.util.GrailsUtil
...
switch(GrailsUtil.environment) {
case "development":
configureForDevelopment()
break
case "production":
configureForProduction()
break
class Bootstrap {
def init = { ServletContext ctx ->
environments {
production {
// prod initialization
}
test {
// test initialization
}
development {
// dev initialization
}
}
}
...
}
C'est l'ancienne méthode. Grails prend désormais en charge un bloc 'environments' dans BootStrap.groovy, tout comme dans Config.groovy et DataSource.groovy - voir" Bootstrapping par environnement "dans la section 3.2 de la documentation. –