java - 您如何协调现有生产数据与 App Engine 中的架构更改?

标签 java database google-app-engine backwards-compatibility

假设您以特定方式设计 App Engine 模型类,将代码投入生产并允许用户与您的应用程序交互一段时间,从而将数据生成到 App Engine 数据存储区中。

现在,假设您决定更改其中一个模型类。

是否有推荐的流程来执行此操作 - 在我的情况下是在 Java 应用程序中 - 以便在将新代码投入生产时,它不会导致应用程序在针对已存在的预先存在的数据运行时中断旧架构?

例如,在将任何新代码上传到生产环境之前,您是否应该下载生产数据并对其进行测试?

解决此类问题的最佳做法是什么?

最佳答案

如果您的架构更改允许,一种方法是延迟将需要架构更改的版本设置为默认版本,直到架构更改完成。

上传新版本,在更新索引时让它静置一会儿,然后运行 ​​mapreduce 来接触(并迁移)任何需要更新的实体。完成后,将新版本设置为默认版本。

关于java - 您如何协调现有生产数据与 App Engine 中的架构更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6884759/

相关文章:

python - 如何在 App Engine 中使用 Google Acounts API?

java - 初始化 ArrayList<Long>

Java 检查字符串中的逗号和空格

java - jfreechart XYLineAndShaperanderer、XYDotRenderer 和 XYSplineRenderer 之间的代码差异?

php - 使用 PDO 从数据库中获取单个单元格

sql - 许多用户可以打开一个带有临时表的 SP 吗?

sql - mysql - 排序和左外连接问题

java - 使用依赖线程 worker 在 Java 中安排定期作业?

google-app-engine - Cloud Shell 中没有名为 'google.appengine' 的模块

android - 将聊天服务器应用程序从 parse.com 移动到 google app engine