On the Python side, there is the remote_api module, which may help you here. I believe this is on its way for the Java runtime. Let me know if this is what you're looking for: http://code.google.com/appengine/articles/remote_api.html http://code.google.com/appengine/docs/python/tools/uploadingdata.html
- Jason On Sat, Aug 22, 2009 at 10:53 PM, akpraha <akpr...@gmail.com> wrote: > > 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)" <apija...@google.com> 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 <victoraco...@gmail.com> 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 <abatju...@gmail.com> 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 <victoraco...@gmail.com> > 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 google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---