0

我使用GAE作为我的应用程序后端。对于生产环境,我使用第二版。同时继续开发第一版。在不同版本中使用GAE数据存储

问题是两个版本使用相同的数据存储。有没有办法将版本定义到数据存储。那么,在开发过程中使用的实体甚至不会在生产中被查询?

感谢, 丹

+1

您必须定义另一个应用程序。所有版本的应用程序都使用相同的数据存储。 –

+1

同意原来的评论,你可以使用名称空间,但是这会引入名称空间的整个概念,这可能不是一个好主意。一个单独的测试实例是一个更好的主意。 –

+0

您为什么首先在生产环境中开发?这就是本地开发服务器的用途。 –

回答

-1

使用命名空间 https://developers.google.com/appengine/docs/java/multitenancy/multitenancy 它分离的一切,包括分布式缓存等

+0

它也使事情过度复杂化,并且如果他稍后决定将命名空间用于比测试更有用的事情,也可能会导致问题。 – dragonx

+0

我没有看到它是如何使事情复杂化,它只是一个简单的命名空间,如果你以后想要使用它们还可以用于其他事情(做一些简单的前缀因此它不会与你的调试nsmespace相冲突),你可以继续使用它们。除了部署一个单独的实例之外,它也是唯一真正的选择,并且这样做并不能为您提供“真正”部署的确切配置。使用本地(模拟)实例通常不是一种选择,因为它在某些apengine功能上表现得非常不同。 –

+0

您需要将检测某些操作的代码显式添加为测试操作,并使用测试命名空间。所以你最终不会测试完全相同的配置。另外,你不能测试像不支持命名空间的blobstore操作。更改app.yaml中的应用程序名称,重新部署并知道您有一个准确的重复测试和生产运行,这非常简单。 – dragonx

0

的应用程序共享的所有版本相同的数据存储。这实际上非常有用,因为它允许您将Go组件和Python组件作为访问相同数据存储的单独版本进行上传。

出于测试目的,如果您想要单独的数据库,请使用单独的应用程序ID。