导入时重命名和替换对象

如果数据库中已存在相同名称的对象,bfimport 命令和“导入”实用程序将重命名导入的对象。导入时重命名对象是缺省行为。

要更改此行为并在导入时替换现有对象,您必须指定 bfimport 的 -r 选项或在 UI 中选择“替换实体”选项。

下面的主题描述了 bfimport 命令和“导入”实用程序在重命名和替换导入的对象时使用的命名约定。

导入时,快照对象(项目、选择器和环境)会保留它们的快照名称(如有),或者被指定缺省的快照名称。

重命名 7.1 或更早导出文件中的对象

对于 7.1 和更早导出文件中的对象,bfimport 命令和“导入”实用程序会使用以下命名约定重命名 UI 中的对象。

对象状态 UI 对象名 UI 快照名称(仅适用于快照对象)
新名称,不在数据库内 <new_object_name> <snapshot_name>
存在于数据库中 <existing_object_name>_IMPORT_<n> <snapshot_name> | Base Snapshot

快照对象将作为新的父级快照导入,即使它是父级快照的子代也是如此。 只有项目、选择器和环境可以作为快照对象。如果快照名称已存在,将保留该名称。否则,将指定缺省的 Base Snapshot 名称,如表中所示。

替换 7.1 之前的导出文件中的对象

对于 7.1 之前的导出文件中的对象,bfimport 命令和“导入”实用程序会使用以下命名约定来替换 UI 中的对象。请注意,快照对象按 UUID 而非名称进行替换评估。

对象状态 UI 对象名 UI 快照名称(仅适用于快照对象)
新名称,不在数据库内 <new_object_name> Base Snapshot
存在于数据库中,非快照对象 <existing_object_name 不适用
存在于数据库中,快照对象 <existing_object_name>_IMPORT_<n> Base Snapshot

对于快照对象,会将快照对象作为新的父级快照导入,即使它是父级快照的子代。只有项目、选择器和环境可以作为快照对象。7.1 之前的导出文件不能包含带有快照名称的对象,因此将指定缺省的 Base Snapshot 名称,如表中所示。

替换 7.1 导出文件中的对象

对于 7.1 导出文件中的对象,bfimport 命令和“导入”实用程序会使用以下命名约定来替换 UI 中的对象。

对象状态 UI 对象名 UI 快照名称(仅适用于快照对象)
新名称,不在数据库内 <new_object_name> <snapshot_name> | Base Snapshot
存在于数据库中 <new_object_name> <snapshot_name> | Base Snapshot

快照对象按 UUID 而非名称进行替换评估。快照对象将作为新的父级快照导入,即使它是父级快照的子代也是如此。只有项目、选择器和环境可以作为快照对象。所有 7.1 对象都具有唯一的快照名称或使用缺省的 Base Snapshot 名称。

快照导入和替换方案

快照对象使用 UUID 而非名称进行替换评估。多次导入快照对象时请多加小心。

以下方案演示了该行为。

  1. 从系统 A 导出快照对象并将其导入空的系统 B。系统 A 上导入的对象的 UUID 与系统 B 上相同。
  2. 在系统 A 上修改快照对象属性,包括名称。
  3. 再次从系统 A 导出快照对象并使用替换选项将其导入系统 B。UUID 匹配,因此会替换该快照对象。系统 B 上替换的对象现在承担系统 A 上的对象中已更改的所有属性,包括更改的名称。

反馈