2017-03-02 1 views
2

Ich habe einen Teil des Hybris reservierten Deployment-Codes verwendet und später zu nicht reservierten Deployment-Typ-Codes gewechselt. Muss ich das System in der richtigen Reihenfolge initialisieren, um die Änderungen mit einem neuen Bereitstellungscode zu berücksichtigen, oder funktioniert nur ein Update? Der Implementierungscode wurde in vielen Fällen geändert. Warum funktioniert das Update nicht?Der Typ des Bereitstellungstyps wurde von Reservierter Hybris in Nicht-reservierte Codes geändert. Muss ich das gesamte System aktualisieren oder initialisieren?

Antwort

0

Wenn Sie in Ihrer Implementierungstabelle einen reservierten Code verwenden, fügen Sie wahrscheinlich die Attribute Ihres Objekts in eine vorhandene Tabelle ein. Wenn Sie Attribute mit dem gleichen Namen haben, wird es sicherlich ein Durcheinander in der Tabelle sein (ich weiß nicht, wie hybris den Tabellentyp zum Beispiel wählen wird).

Wenn Sie ein Update mit dem guten Bereitstellungscode ausführen, erstellt es eine neue Tabelle, die in Ordnung ist. Die andere Tabelle, die von zwei Objekten verwendet wurde, bleibt möglicherweise beschädigt, da hybris keine Spalte löscht.

Deshalb sollten Sie Ihr System initialisieren, um eine saubere DB zu haben. Das Problem ist, dass Sie alle Ihre Daten verlieren.

Wenn Sie Daten migrieren müssen, wird es wahrscheinlich ziemlich schwierig sein, da Sie die zerbrochene Tabelle betrachten müssen und zwischen den Attributen unterscheiden müssen, die nicht dort sein sollten und den anderen. Also ich hoffe für dich, dass es nur ein Dev-Thema ist!

0

Eigentlich würde vorschlagen ich Sie initialisieren statt Update eher zu tun, dass die Update wird für Sie in diesem Fall nicht funktionieren, und wahrscheinlich werden Sie einige Fehlermeldungen invalid pk xxxxxxxxxxxx because of unknown typecode yyyy sagen bekommen.

Wie Sie den typeCode (Deployment-Code) wissen können, ist ein wesentlicher Antrieb für den Erzeugungsprozess von PKs in Hybris und dank es Hybris die uniquenessity der PKs gewährleisten kann, so dass selbst wenn Sie die alten typeCode mit einem neuen ändern es ist sehr wahrscheinlich, dass Hybris wird immer noch die alte typeCode irgendwo davon PKs bereits generiert wird nie mit dem neuen typeCode konsistent sein.

Deshalb sollten Sie niemals den Typcode eines einmal angegebenen Artikels ändern.

Mein Vorschlag ist:

  1. Um eine Sicherung der vorhandenen Daten zu machen (Sie es von HMC exportieren können, Sie einen Blick auf alain.janinm Antwort nehmen kann here).
  2. Dann initialisieren Sie Ihr System.
  3. Importieren Sie die Daten anschließend erneut.

Hinweis: dass Typcodes zwischen 0 und 10000 sind bereits hybris bestimmte Elemente vorbehalten.

Verwandte Themen