我正在 GAE 中构建一个 Web 应用程序,它需要利用数据存储实体之间的一些简单关系。此外,我想从一开始就尽我所能使导入和导出更容易,并减少将应用程序迁移到另一个平台的开发时间。
我可以看到处理数据存储中实体之间关系的两种可能方式:
- 将相关实体的键(或 ID)作为字段包含在实体中或
- 创建唯一标识符作为实体的应用程序定义字段以允许其他实体引用它
后者与 GAE 的集成度较低,并且需要某种机制来确保唯一标识符实际上是唯一的(这又将依赖于祖先查询)。
然而,后者可能使数据可移植性更容易。例如,如果实体是在本地计算机上创建的,则可以毫无问题地上传它们(假设唯一标识符是唯一的)。相比之下,依赖 GAE 定义的 ID 将不起作用,因为 ID 从开发环境到部署环境将不一致。
也可能存在数据可导出性考虑,这意味着应用程序定义的唯一标识符更可取。
这样做的最佳方法是什么?