iberck
3/15/2017 - 4:46 AM

Grails config [modos, full clean, configuración, config, interceptores, filtros, filters, interceptors, plugins, versiones, versions, h2, es

Grails config [modos, full clean, configuración, config, interceptores, filtros, filters, interceptors, plugins, versiones, versions, h2, estructura, scaffolding]

Modos

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.

Full clean

  1. Borrar .grails
  2. Borrar carpeta grails-app/target
  3. "clean-all/compile"

Cada que se cambie a una nueva versión de grails se recomienda eliminar los folders .groovy y .grails

BuildConfig.groovy

Configuraciones del proyecto.

Config.groovy

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}

Interceptores

Sirven para interceptar código dentro de controladores

beforeInterceptor, afterInterceptor

Filters

Sirven para interceptar cualquier petición de cualquier controlador.

Plugins importantes

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).

Versiones

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.

Bases de datos

acceder a la consola de h2: http://localhost:8080/appname/dbconsole

Estructura del proyecto

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

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.