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
-~----------~----~----~----~------~----~------~--~---

Reply via email to