0

I seem to have 2 separate applications on GAE, the original one with the fictitious name xyz and an hrd one with the name xyz-hrd. I only want one with the name xyz but I want it to use the high resolution datastore. I am trying to use the instructions here.

I am near the end of the HRD migration stage on xyz and have clicked on "Activate Read-only". In step 11 the instructions say the following.

You will be notified when the migration tool is ready to alias the application (by email if you chose that, or by a message when your refresh the browser window). Click Finish Migration to complete the migration. At this point, the new HRD application begins serving incoming requests. 

When I launch xyz at appspot.com, there are no changes.

When I launch xyz-hrd at appspot.com, there are changes, but only new data items.

Do I click on "Finish Migration" or not, and when I do, how will I get all the changes and all of the data items under the application name xyz? I am very nervous about this because the instructions say there is not way to revert after clicking on "Finish Migration".

By the way, in my "dashboard" I can select from among my applications which lists both xyz and xyz-hrd. When I select xyz I (still) see 2 warnings, but no warnings are present when I select xyz-hrd. Below are the 2 warnings.

A version of this application is using the Python 2.5 runtime, which is deprecated!
This application is using the Master/Slave datastore which is deprecated! 
zerowords
  • 2,915
  • 4
  • 29
  • 44

1 Answers1

1

There is no way to reclaim the old app url for the new one. I know, its lame.
To avoid that in the future, map the appspot to a google apps domain so it has a fixed url.
For now, at most you can upload a new version to the old app which redirects to the new one. Before migration you are supposed to stop using the old one by making it readonly. Otherwise changes there wont migrate.

Zig Mandel
  • 19,571
  • 5
  • 26
  • 36
  • I have no idea how to do that redirection business. Both of the apps are appspot.com url's already `xyz.appspot.com` and `xyz-hrd.appspot.com`. Does that change your answer? Please tell me more about how to do it. – zerowords Jul 16 '14 at 03:16
  • http://stackoverflow.com/questions/503093/how-can-i-make-a-redirect-page-in-jquery-javascript – Zig Mandel Jul 16 '14 at 03:34
  • Ok, I see that page. It raises so many questions. Eg, is there a difference between redirecting a whole app and just a page? Do all the html/javascript pages have to be edited? Does the python code have to be edited? Will my users be able to use the old name link exclusively? Will the data get combined? Surely google apps people explain this somewhere. I cannot find any answers to these questions at SO or at google developers. – zerowords Jul 16 '14 at 05:27
  • 1
    lets see, in your case you redirect the entire app, see this http://stackoverflow.com/questions/1058119/how-to-redirect-all-urls-with-google-app-engine/18297787#18297787 and add code to extract the path from the url and construct the new url. This does it globally for your entire app. once the redirect is done you can remove all the other code in the old app. users will be able to use the old or new app name, (mostly) wont matter. data wont get combined. your old app will stay readonly and that data is already on the new app after migration. – Zig Mandel Jul 16 '14 at 05:42
  • Do I understand correctly?: I make @feklee's changes **only** in `xyz`, not in `xyz-hrd`. In that example `example.com` is `xyz-hrd.appspot.com` for my case. So as far as appspot.com will know, the app `xyz` is just a shell with only the `app.yaml` file and the `main.app` file shown in feklee's answer (with my inputs instead of his) and no other files such as html/javascript templates and no static files, either. Also, even though my version of `main.app` includes `app = webapp2.WSGIApplication([('/', MainPage)])` it will now contain `… AllHandler…`, instead. Please confirm these assertions. – zerowords Jul 16 '14 at 21:32
  • the chages are to the old one so it redirects the user to the new page. If your urls contain datastore ids, that will cause problems. also make sure to read about migration gotchas if you manually store datastore ids in other datastore properties. – Zig Mandel Jul 17 '14 at 00:28
  • I don't have any ids in my urls and I understand that the changes are to the "old" one `xyz`. What I am not too clear about is the "shell" issue and whether `AllHandler` can be a new and only, python class in the "old" one. I am guessing that `AllHandler` can be the only class because the sole purpose of the old app will now be to redirect to the new app `xyz-hrd`. But I want confirmation that my guess is correct, please. – zerowords Jul 17 '14 at 04:30
  • Nevermind. I should be able to get confirmation of my guess by experimenting with my GoogleAppEngineLauncher and localhost. – zerowords Jul 17 '14 at 11:48
  • [It looks like I am screwed](http://stackoverflow.com/questions/24830749/entity-keys-are-different-after-migration-to-high-replication-datastore). What can I do? – zerowords Jul 18 '14 at 17:35