dateCreated, lastUpdated Felder in Grails 2.0
Habe ich eine Anwendung mit Grails 1.3.7, die ich habe gerade die Migration zu Grails 2.0. Die Anwendung macht Gebrauch von der automatischen dateCreated
und lastUpdated
Felder zu verwalten, die Zeitstempel im Zusammenhang mit der Erstellung und Modifikation der Objekte. Nach der Aktualisierung, bekomme ich die folgende Fehlermeldung:
| Running Grails application
| Error 2012-01-29 22:36:53,504 [Thread-8] ERROR util.JDBCExceptionReporter - ERROR: null value in column "date_created" violates not-null constraint
| Error 2012-01-29 22:36:53,510 [Thread-8] ERROR events.PatchedDefaultFlushEventListener - Could not synchronize database state with session
Auskommentieren der oben genannten Felder in meinem Domain-Klassen macht das problem Weg.
Haben die dateCreated
und lastUpdated
Felder veraltet in Grails 2.0? Wenn dem so ist, bedeutet das, dass ich den code schreiben, um diese zu bewältigen Funktionalität manuell oder hat der code nun mit einem plugin von einer Art, wie die audit-trail plugin?
InformationsquelleAutor srkiNZ84 | 2012-01-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, behoben durch die manuelle Einstellung der autoTimestamp variable auf "true" in der domain-Klasse Definitionen:
Ich würde vermuten, dass diese Eigenschaft nicht gesetzt, die nach der Migration eines Projekts von Grails 1.3.7 2.0.0.
Ich befestigte das automatische überschreiben durch setzen des autoTimestamp Eigenschaft
false
Dies ist nicht die Arbeit in Integrations-Tests
InformationsquelleAutor srkiNZ84
Grails 2.0 unterstützt weiterhin das automatische Zeitstempel. Es ist aufgeführt in der Anleitung (scrollen up ein bisschen von diesem link).
Jedoch, es wird speziell erwähnt:
Weder der Felder sind erwähnt in den Einschränkungen. Basierend auf dem zitierten text beginne ich zu denken, dass ich vielleicht irgendwie deaktiviert "automatischer Zeitstempel". Woher hast du den text aus?
Sorry, ich war surfen auf meinem offline-Kopie. Der link wurde behoben. Die Warnung ist auf der Seite, die ich verlinkte. Sie haben zu scrollen aus dem link, da kann ich nicht direkt verlinken.
Ok, behoben durch die manuelle Einstellung der autoTimestamp variable auf "true" in der domain-Klasse Definitionen. Ich würde vermuten, dass diese Eigenschaft nicht gesetzt, die nach der Migration eines Projekts von Grails 1.3.7 2.0.0.
Ich glaube, Grails 2.X hat immer noch autoTimestamp als Standard-Verhalten, wie Übereifrige angegeben, aber ich Frage mich, ob vielleicht gibt es bestimmte plugins, die überschreiben werden. Ich habe Projekte, die gut funktionieren, mit diesem, und doch, ich habe gerade jetzt gesehen, auf der unsere apps, die am Arbeitsplatz beginnen, auf dieses Verhalten.
InformationsquelleAutor OverZealous
Es ist ein Fehler in Grails 2.0.3, die dieses problem verursachen können, wenn mit Postgres. Sehen http://jira.grails.org/browse/GRAILS-8988. Die Ausgabe sagt, es wird aufgelöst, wenn 2.0.4 freigegeben wird.
InformationsquelleAutor Brad Whitaker