2017-03-02 18 views

回答

0

當您在部署表中使用保留代碼時,可能會在現有表中添加對象的屬性。如果你有同名的屬性,那麼它肯定會在表格中變得混亂(我不知道hybris會如何選擇表格類型)。

當您運行與良好的部署代碼的更新,它會創建一個新表,該表就好了。由於hybris不會刪除任何列,因此兩個對象使用的另一個表仍然可能被破壞。

這就是爲什麼你應該初始化您的系統有一個乾淨的數據庫。問題是你會失去所有的數據。

如果您需要遷移數據,它可能會非常困難,因爲您必須查看已損壞的表並區分不應存在的屬性和其他屬性。所以我希望你只是一個開發問題!

0

其實我會建議你做初始化而不是更新更可能是更新不會在這種情況下,爲你工作,也許你會得到一些錯誤信息,說invalid pk xxxxxxxxxxxx because of unknown typecode yyyy

正如你可能知道typeCode(部署代碼)可以在HybrisPKs生成過程全靠它款Hybris可以保證PKs的uniquenessity的基本操作,所以即使你有一個新的轉變舊typeCode其中很有可能Hybris仍然會保留舊的typeCode某處,因此PKs已經生成的將永遠不會與新的typeCode一致。

所以這就是爲什麼你不應該換一次給出一個項目的類型代碼。

我的建議是:

  1. 爲了使您的現有數據的備份(可以從HMC出口, 你可以看看alain.janinm的回答here)。
  2. 然後初始化您的系統。
  3. 然後再次重新導入數據。

注意:0和10000之間的TypeCodes已經預留的hybris 特定項目。