【问题标题】:In Google Datastore, how do I transfer an entity, which references another entity, from one project to another?在 Google Datastore 中,如何将引用另一个实体的实体从一个项目转移到另一个项目?
【发布时间】:2016-09-08 09:23:48
【问题描述】:

实体密钥(例如 urlsafe 密钥)包含项目标识符。即,这些键的构建类似于 projectID+kind+entityId。这些键可以存储在一个实体的字段中,作为对另一个实体的引用。

因此,当您在 Google Cloud 项目之间复制部分或全部数据库时(例如,作为备份或创建测试环境)时,实体之间的所有引用都会中断。

我们如何在项目之间安全地复制实体?

【问题讨论】:

    标签: google-app-engine google-cloud-platform google-cloud-datastore


    【解决方案1】:

    如果您的实体有这样的键(假设是 Python):

        some_key = ndb.KeyProperty()
    

    那么当你转移到一个新的项目时,这个键就不会中断。此键不包含项目 ID。

    如果您将 urlsafe 密钥存储在实体中,则在将数据传输到新项目时需要全部更新它们,因为 urlsafe 密钥确实包含项目 ID。

    除非您有多个项目相互交互,否则您可能不应该存储 urlsafe 密钥。

    【讨论】:

      猜你喜欢
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      相关资源
      最近更新 更多