Grails config [modos, full clean, configuración, config, interceptores, filtros, filters, interceptors, plugins, versiones, versions, h2, estructura, scaffolding]
Modos: grails -Dgrails.env=prod
, grails -Dgrails.env=dev
, grails -Dgrails.env=test
Para ejecutar un war en un servidor productivo pero en modo dev, es necesario enviar la propiedad -Dgrails.env=dev
en CATALINA_OPTS
(archivo setenv.sh) o enviando -Dgrails.env=dev
como VM option al momento de crear el archivo war en intellij. Sin embargo por un bug aún no encontrado, no arranca la aplicación en modo producción en el servidor linux-ubuntu.
Cada que se cambie a una nueva versión de grails se recomienda eliminar los folders .groovy y .grails
Configuraciones del proyecto.
Config.groovy: Configuraciones de la aplicación, su sintaxis se basa en ConfigSlurper
el cual es similar a un archivo .properties
pero distingue tipos y anida propiedades.
${grailsApplication.config.property}
Sirven para interceptar código dentro de controladores
beforeInterceptor
, afterInterceptor
Sirven para interceptar cualquier petición de cualquier controlador.
grails-console: Instala una consola en la web que trabaja sobre los datos del servidor en ejecución (como si se probara código desde un controlador).
2.3.x (Release date: Septiembre 2013)
2.4.x (Release date: Mayo 2014): Java 8, Spring4, Hibernate 4, Groovy 2.3
2.5.0: Trae los mismos fixes que 2.4.5 pero trae versiones actualizadas de spring y groovy.
acceder a la consola de h2: http://localhost:8080/appname/dbconsole
project/web-app: Contiene directorios para imagenes, css y javascript (a partir de la versión 2.4.x no deben ponerse aquí los recursos, solo se mantiene el directorio para que sigan siendo compatibles plugins de versiones anteriores). Es una forma básica de incluir un recurso estático en el proyecto (deprecated)
app-name/target/stacktrace.log: Fullstacktrace: archivo donde se escriben los mensajes de la aplicación que no son parte del nucleo - sirve para encontrar errores.
project/grails-app/assets: Es una manera sofisticada de agregar recursos estáticos en el proyecto
Scaffolding estático: Genera archivos para el CRUD
grails generate-controller
: Genera el controlador CRUD de cierto modelo
grails generate-view
: Genera las vistas CRUD de cierto modelo
grails generate-all
: Genera controlador/vistas CRUD de cierto modelo
Scaffolding dinámico: No genera ningún archivo y crea el CRUD en tiempo de ejecución. Sirve para prototipos.