假设您以特定方式设计 App Engine 模型类,将代码投入生产并允许用户与您的应用程序交互一段时间,从而将数据生成到 App Engine 数据存储区中。
现在,假设您决定更改其中一个模型类。
是否有推荐的流程来执行此操作 - 在我的情况下是在 Java 应用程序中 - 以便在将新代码投入生产时,它不会导致应用程序在针对已存在的预先存在的数据运行时中断旧架构?
例如,在将任何新代码上传到生产环境之前,您是否应该下载生产数据并对其进行测试?
解决此类问题的最佳做法是什么?
最佳答案
如果您的架构更改允许,一种方法是延迟将需要架构更改的版本设置为默认版本,直到架构更改完成。
上传新版本,在更新索引时让它静置一会儿,然后运行 mapreduce 来接触(并迁移)任何需要更新的实体。完成后,将新版本设置为默认版本。
关于java - 您如何协调现有生产数据与 App Engine 中的架构更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6884759/