2010-01-09 4 views
1

J'utilise un plugin pour Grails - le plugin Amazon S3 - et l'objet domaine fourni par le plugin ne spécifie pas le générateur Id. J'utilise Postgresql et exige l'identité du générateur d'identité.Modify Id génération pour un plugin Grails

Je pourrais copier le plugin dans mon répertoire de plugins et jouer avec l'objet de domaine fourni mais cela ne ressemble pas à une approche propre. Puis-je ajouter la génération d'id correcte à l'exécution? Ou peut-être qu'il y a un meilleur moyen.

Répondre

3

Si vous utilisez la version 1.2, vous pouvez fournir un mappage par défaut pour toutes vos classes GORM, y compris le générateur.

grails.gorm.default.mapping = { 
    id generator:'sequence' 
} 

Voir plus 1.2 release notes.

+0

Je ne suis pas en cours d'exécution 1.2 mais c'est une bonne raison de mettre à niveau. Merci pour la réponse qui est vraiment propre. –

1

Je pense que vous pourriez copier juste le S3Asset.groovy dans src/groovy /. De mémoire, votre classe devrait remplacer celle fournie par le plugin. J'ai utilisé cette technique pour ajuster quelques plugins jusqu'à ce que les bugs soient corrigés. Mais je ne l'ai pas essayé avec des classes de domaine seulement * fichiers GrailsPlugin.groovy.

Aussi, la suggestion de Jean ci-dessus est bonne!

acclamations

Lee