匯入時重新命名與取代物件

如果資料庫中已存在同名的物件,bfimport 指令與「匯入」公用程式會將匯入的物件重新命名。匯入時重新命名物件,是預設的行為。

如果要變更這項行為,而在匯入時取代現有的物件,您必須在 bfimport 中指定 -r 選項,或者在使用者介面中選取「取代實體」選項。

下列主題說明 bfimport 指令與「匯入」公用程式在重新命名與取代匯入的物件時,所使用的命名慣例。

如果 Snapshot 物件(專案、選取元和環境)有 Snapshot 名稱的話,則會予以保留;否則,便會在匯入時指派一個預設的 Snapshot 名稱給它們。

重新命名 7.1 或更早版本的匯出檔中的物件

對於 7.1 和更早版本的匯出檔中的物件,bfimport 指令與「匯入」公用程式會使用下列的命名慣例,來重新命名使用者介面中的物件。

物件狀態 使用者介面中的物件名稱 使用者介面中的 Snapshot 名稱(僅適用於 Snapshot 物件)
新建,不在資料庫中 <new_object_name> <snapshot_name>
資料庫中現有的 <existing_object_name>_IMPORT_<n> <snapshot_name> | 基本 Snapshot

Snapshot 物件會匯入成新的母項層次 Snapshot,即使它是某個母項 Snapshot 的子項也一樣。只有專案、選取元和環境才能作為 Snapshot 物件。如果該 Snapshot 名稱已存在,則會保留。否則,便會指派預設的「基本 Snapshot」名稱,如表格中所示。

取代 7.1 以前之匯出檔中的物件

對於 7.1 以前之匯出檔中的物件,bfimport 指令與「匯入」公用程式會使用下列的命名慣例,來取代使用者介面中的物件。請注意,在評估是否要取代 Snapshot 物件時會以 UUID 為依據,而不是名稱。

物件狀態 使用者介面中的物件名稱 使用者介面中的 Snapshot 名稱(僅適用於 Snapshot 物件)
新建,不在資料庫中 <new_object_name> 基本 Snapshot
資料庫中現有的非 Snapshot 物件 <existing_object_name 不適用
資料庫中現有的 Snapshot 物件 <existing_object_name>_IMPORT_<n> 基本 Snapshot

就 Snapshot 物件方面,Snapshot 物件會匯入成新的母項層次的 Snapshot,即使該 Snapshot 物件是某個母項 Snapshot 的子項。只有專案、選取元和環境才能作為 Snapshot 物件。7.1 以前的匯出檔無法包含具有 Snapshot 名稱的物件,因此會指派預設的「基本 Snapshot」名稱,如表格中所示。

取代 7.1 匯出檔中的物件

對於 7.1 匯出檔中的物件,bfimport 指令與「匯入」公用程式會使用下列的命名慣例,來取代使用者介面中的物件。

物件狀態 使用者介面中的物件名稱 使用者介面中的 Snapshot 名稱(僅適用於 Snapshot 物件)
新建,不在資料庫中 <new_object_name> <snapshot_name> | 基本 Snapshot
資料庫中現有的 <new_object_name> <snapshot_name> | 基本 Snapshot

在評估是否要取代 Snapshot 物件時會以 UUID 為依據,而不是名稱。Snapshot 物件會匯入成新的母項層次 Snapshot,即使它是某個母項 Snapshot 的子項也一樣。只有專案、選取元和環境才能作為 Snapshot 物件。所有的 7.1 物件會有一個唯一的 Snapshot 名稱,或是使用預設的「基本 Snapshot」名稱。

Snapshot 匯入與取代的實務範例

在評估是否要取代 Snapshot 物件時會使用其 UUID,而不是名稱。若要多次匯入 Snapshot 物件多次,請多加注意。

以下實務範例將說明其行為。

  1. Snapshot 物件從系統 A 匯出,然後匯入至系統 B。在系統 A 上匯入的物件具有與系統 B 上相同的 UUID。
  2. 在系統 A 上修改 Snapshot 物件屬性,包括名稱在內。
  3. 此 Snapshot 物件又重新從系統 A 匯出,並使用取代選項匯入至系統 B。由於 UUID 相符,因此取代了此 Snapshot 物件。系統 B 上取代後的物件此時會具有該物件在系統 A 上所有變更過的屬性,包括已變更的名稱在內。

意見