In my stuff... App Versions for "Live" are pure numbers, all Devs/debug/beta contain Alpha Characters
If INT Version == Version { DataStore/Memcache = Live} Else {DataStore/Memcache = Debug} For memcache make sure to prefix or differentiate your keys in some way. Depending on my testing often I do reads from live always and writes to the live or debug based on version. I often mix Java and Python between Versions so I can run performance testing between the two. -----Original Message----- From: google-appengine@googlegroups.com [mailto:google-appengine@googlegroups.com] On Behalf Of Martin Waller Sent: Friday, September 23, 2011 1:38 AM To: Google App Engine Subject: [google-appengine] Managing Dev and Live versions I was wondering what the best advice is for managing a live version of an app and a dev version of an app? I found the following on the web: 1. App Versions are strings, not numbers Although most of the examples show the 'version' field in app.yaml and appengine-web.xml as a number, that's just a matter of convention. App versions can be any string that's allowed in a URL. For example, you could call your versions "live" and "dev", and they would be accessible at "live.latest.yourapp.appspot.com" and "dev.latest.yourapp.appspot.com". 2. You can have multiple versions of your app running simultaneously As we alluded to in point 1, App Engine permits you to deploy multiple versions of your app and have them running side-by-side. All the versions share the samedatastore and memcache, but they run in separate instances and have different URLs. Your 'live' version always serves off yourapp.appspot.com as well as any domains you have mapped, but all your app's versions are accessible at version.latest.yourapp.appspot.com. Multiple versions are particularly useful for testing a new release in a production environment, on real data, before making it available to all your users. Something that's less known is that the different app versions don't even have to have the same runtime! It's perfectly fine to have one version of an app using the Java runtime and another version of the same app using the Python runtime. What I don't like about this is that all the versions share the same datastore and memcache which is fine if you want to test on live data but if you want a test datastore where to can delete everything and go again then it's not going to work. How do people manage this? Do they setup two distinct apps to do this I wonder? Many thanks for any help you can give. Martin -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appengine@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.