On Tue, Feb 17, 2009 at 04:25, Sridhar Ratnakumar
<[email protected]> wrote:
>
> A related question - is there a way to have two versions of datastore
> so that I can run 'production' and 'staging' instances of my app? In
> case, if I want to test new features without messing up the production
> datastore, I can use the staging datastore.
>
> If not, what is the appropriate way to do this?

I'm not aware of any simple and general solution, but your options include:

1) Testing on the development server (SDK) only. Check out the
--datastore_path command line option. I think you should be able to
create a copy of a dev datastore by copying the --datastore_path file
(when no dev server is using it), but I haven't tried it.

2) Using a separate app. Each app has its own datastore, inaccessible
to other apps, so you'll have to migrate your data manually between
this staging app and your stable app.

3) Emulating versioned datastore manually. You will still have a
single shared datastore, but you can write your code so that it never
touches other versions' data. Or it can only access some other
version's data under very specific circumstances. Or whatever. How
this is best done heavily depends on what kind of changes you are
trying to introduce to the datastore.

Changes to your datastore schema can be risky. It is always good to
have a full backup and test the restoration procedure periodically.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to