对于我的项目我使用GAE数据存储来存储数据。用于备份 目的我决定使用bulkloader - 下载整个 数据在csv文件中完美无缺。上传也会上传数据 没有错误。
我的问题是,上传不会更新现有数据 创建重复。这是数据存储区查看器中的一个示例:
更新前:
ID/Name
id=18000
id=20001
更新后:
ID/Name
id=18000
id=20001
name=18000
name=20001
在数据存储区实体中,我将其用作数据ID:
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
任何想法如何使用bulkloader实际更新现有数据?
谢谢,亚当
答案 0 :(得分:3)
bulkloader的默认设置有一种讨厌价值类型的恶习。这对于键和列表尤其有问题。
我使用这些辅助函数bulk_helper,并将其添加到我的bulkloader.yaml:
python_preamble:
- import: bulk_helper
...
property_map:
- property: __key__
external_name: key
import_transform: bulk_helper.reverse_str_to_key
export_transform: bulk_helper.key_to_reverse_str
这会保留完整的密钥,包括种类和父信息,并保持其可读性(如果这对您很重要)。
答案 1 :(得分:2)
这对我很有用:
import_transform:transform.create_foreign_key('Kind',key_is_id = True)
找到它感谢。