实体密钥(例如urlsafe密钥)包括项目标识符。即,这些键的构建类似于 projectID + kind + entityId 。这些密钥可以存储在一个实体的字段中,作为对另一个实体的引用。
因此,当您在Google Cloud项目之间复制部分或全部数据库时 - 例如,作为备份或创建测试环境 - 实体之间的所有引用都会被破坏。
我们如何安全地在项目之间复制实体?
答案 0 :(得分:3)
如果您的实体有一个密钥(假设是Python),请执行以下操作:
some_key = ndb.KeyProperty()
然后当您转移到新项目时,此密钥不会中断。此密钥不包括项目ID。
如果您在实体中存储urlsafe密钥,则在将数据传输到新项目时需要更新所有密钥,因为urlsafe密钥确实包含项目ID。
除非你有多个项目互相交流,否则你可能不应该存储urlsafe密钥。