Saad Farooq
Saad Farooq

Reputation: 13402

Changing 'schema' with Google AppEngine and Objectify

I am exploring web development with Google AppEngine (Java). My application has a very basic data storage requirement that is well suited to AppEngine's 'map' like datastore.

The basic unit is one class that will have member variables that will be written or read from the database per transaction (this is because it interacts with an Android app).

I am considering using Objectify for interfacing.

My questions are : What happens if I later change the size (number of variables) in my base class ? I know AppEngine isn't typed but will Objectify cause any problems if some variables are available for some keys and not for others ?

Upvotes: 0

Views: 501

Answers (2)

mjaggard
mjaggard

Reputation: 2475

If you decide to move from the Objectify framework to the Low-level API later, you won't have a problem. App engine's datastore is typed, but not with all the Java types. I don't know whether you'd be able to get JDO or JPA to work without reading and re-writing all your data, but I think you probably would.

Objectify 4's method of storing a Map is pretty nice - storing properties as something like "fieldname-mapkey"

Upvotes: 0

stickfigure
stickfigure

Reputation: 13556

This is addressed extensively in the manual:

http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Migrating_Schemas

The short answer is that you can add and remove fields at will. In addition, there are facilities for more sophisticated transformations of data.

Upvotes: 2

Related Questions