Is there any chance that there will be some sort of scriptable way of managing the evolution of applications data model? With SQL-based implementations of JPA/JDO it's a no-brainer, but I really see this as a deal breaker for implementing more complex and long-lived applications. As it stands now, it's good for testing out concepts, but that's about it.
On Aug 18, 9:02 pm, "Jason (Google)" <[email protected]> wrote: > Also make sure that you use Integer instead of int, Double instead of > double, etc. since the latter cannot be set to null. Mujtaba is right -- App > Engine's datastore is built on top of BigTable which you can think of > (simplistically) as a large hash table, so you can freely add properties; > these will be set to null for those entities that don't have data associated > with these property names. > Be advised that removing field from a JDO or JPA class does not > automatically clear the data associated with the corresponding properties in > the datastore. > > - Jason > > On Mon, Aug 17, 2009 at 12:28 PM, victor <[email protected]> wrote: > > > I tried what you suggested and I get the following exception: > > > Datastore entity with kind ...has a null property named > > voteDownCount. This property is mapped to ..., which cannot accept > > null values. > > > It looks like I have some missing parameters in the > > @Persistentannotation? I was thinking it would be the "nullValue" > > parameter but it does not seem to be the case. > > Does anyone know what would this be? > > > Thanks! > > > On Aug 16, 11:48 pm, Mujtaba Hassan <[email protected]> wrote: > > > This issue has been discussed on the forum. > > > > Just add your the new field in the ClassA and start your development, the > > > old records will store null associated with the new field. > > > > On Mon, Aug 17, 2009 at 8:30 AM, victor <[email protected]> wrote: > > > > > This seems to be a common use case but I cannot seem to find the > > > > answer to this in the forum. Let us say I have defined a persistent > > > > class: > > > > class A { > > > > private String field; > > > > //get set methods removed for clarity > > > > } > > > > > Supposed that this class worked out fine and I have already deployed > > > > my app and populated my tables with it. But then it just occurred to > > > > me that I have to add a new field: > > > > class A { > > > > private String field; > > > > private String newField; > > > > //get set methods removed for clarity > > > > } > > > > > What would be the best way to tackle this scenario? Can I just extend > > > > "A" instead? -- but class extension seems to be poorly supported in > > > > this JDO implementation. How do I migrate my old class versions? > > > > > I was thinking of putting class version on my classes and everytime I > > > > update it I would do the following steps: > > > > 1) Change the version ID of the class > > > > 2) Migrate all the tables in the table by retrieving it, changing the > > > > version ID, resave it with the new class. > > > > > Any pointers would be helpful. > > > > > Thanks! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---
