0

在我的应用程序中,当我创建一个用户对象时,id 是整数。(id=23001)

- kind: User
  connector: csv
  connector_options:
    # TODO: Add connector options here--these are specific to each connector.
  property_map:
    - property: __key__
      external_name: key
      export_transform: transform.key_id_or_name_as_string

我已经自动生成了上面的bulkloader,当我删除用户并通过bulkloader重新上传时,id不再是整数。就是现在name=23001

为了强制执行这一点,我提出了这个想法:

- kind: User
  connector: csv
  connector_options:
    # TODO: Add connector options here--these are specific to each connector.
  property_map:
    - property: __key__
      external_name: key
      export_transform: transform.key_id_or_name_as_string
      import_transform: transform.none_if_empty(int)

现在导入设置为整数,实际上我id=23001又得到了一个。

实际问题是另一个在 User 上使用外键的类:

- kind: AuthProvider
  connector: csv
  connector_options:
    # TODO: Add connector options here--these are specific to each connector.
  property_map:
    - property: __key__
      external_name: key
      export_transform: transform.key_id_or_name_as_string

    - property: user_key
      external_name: user_key
      # Type: Key Stats: 1 properties of this type in this kind.
      import_transform: transform.create_foreign_key('User')
      export_transform: transform.key_id_or_name_as_string

该字段user_key再次生成为字符串而不是整数。(name=23001) 这意味着密钥不再相同,这非常糟糕。

我该怎么做user_key才能成为 id=xxx 而不是 name=xxx ?

非常感谢

4

1 回答 1

1

请试试import_transform: transform.create_foreign_key('User', key_is_id=True)

于 2013-07-08T14:15:50.643 回答