dimanche 7 juillet 2013

Grails generate-all No domain class found for name

Problème :

J'apprend l'utilisation de la commande "generate-all" et j'ai toujours le message d'erreur suivant : "No domain class found for name User".
J'ai saisi la commande suivante :

grails generate-all User


Remarque : J'utilise la version 2.1.5 de Grails donc peut être que cela fonctionnera mieux avec une version récente.

Voici le détail de l'erreur:
| No domain class found for name User. Please try again and enter a valid domain
 class name
| Error 2013-06-30 13:51:40,907 [Thread-10] ERROR plugins.DefaultGrailsPlugin  -
 Error configuration scaffolding: Error creating bean with name 'instanceControl
lersApi': Singleton bean creation not allowed while the singletons of this facto
ry are in destruction (Do not request a bean from a BeanFactory in a destroy met
hod implementation!)
Message: Error creating bean with name 'instanceControllersApi': Singleton bean
creation not allowed while the singletons of this factory are in destruction (Do
 not request a bean from a BeanFactory in a destroy method implementation!)
   Line | Method
->> 722 | run in java.lang.Thread


Solution

grails generate-all racetrack.User
La classe de domaine User se trouve dans un répertoire "racetrack" : $GRAILS_APPdomain/racetrack/User.java


samedi 6 juillet 2013

Grails : champs date remplis automatiquement

Dans les classes mappées avec la base de données, il est possible de remplir automatiquement des champs date lors de la création ou lors d'une mise à jour. Pour cela, Grails a défini une convention dans le nom des champs date. Pour que les champs Date soient remplis automatiquement, il faut qu'il se nomme dateCreated ou lastUpdated.

Exemple :
class Person {
   Date dateCreated
   Date lastUpdated
}
 
 
Il est possible de désactiver cette fonctionnalité de la manière suivante :
 
class Person {
   Date dateCreated
   Date lastUpdated
   static mapping = {
      autoTimestamp false
   }
} 

Voir aussi :

Apprendre Grails avec un livre

Je suis en train d'apprendre Grails.
J'ai choisi  "Grails getting started". Ce livre est simple à comprendre (même en anglais) et pas ennuyeux.
Voici le lien : http://www.infoq.com/minibooks/grails-getting-started

mardi 2 juillet 2013

Grails : connaissez-vous le plugin CRaSH ?

Grails


Vous avez la possibilité d'embarquer CRaSH dans votre application Grails et cela très facilement en installant le plugin CRaSH. C'est très simple :

cd $PATH_TO_MY_GRAILS_APPLICATION
grails install-plugin crash

 
Maintenant, il ne vous reste plus qu'à vous connecter avec CRaSH.
Cela se fait en 2 étapes :
  • Récupération pour le Process PID de votre application Grails :
cd $JAVA_HOME/bin
jps
  • Lancement de CRaSH
cd $CRASH_HOME/bin
crash.sh PID

Maintenant, vous avez accès à toutes les commandes CRaSH (jdbc, jpa, thread ...) et vous pouvez faire vos propres commandes !

CRaSH : http://www.crashub.org/
Grails CRaSH plugin : https://github.com/crashub/grails
Grails : http://grails.org/