Hello everyone,

after a couple of versions of my application I found out that I need
to change the datamodel fundamentally in order to achieve better
performance. My approach was as follows:

(Coding)
- Mark all old API as @Deprecated
- Create new classes etc.
- Update views etc.
- Develop a migration servlet which copies data from the old model to
the new model
(Migration)
- Deploy new app
- Call migration servlet URL

All tests on my local development environment were successful. The new
datamodel is less complex than the old one, it contains only
"implicit" relations and stores large data in a separate entity. That
perfectly matches the application's scope, only minor refactorings
were necessary to implement the new datamodel.

However, the migration failed. Of course, I had already so much data
in the system, that the request timed out. Now my datastore is half
old and half new.

Bummer.

Luckily, that application is not really in production, so it is not a
fatal loss.

However, I'm wondering how such migration is usually done.
- How do I backup my datastore?
- How do I run migration "scripts" (in my case =servlet)?

Thank you,
Moritz

-- 
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-j...@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.

Reply via email to