pstute
I'm new here

Löschen einer Fremdschlüsselbeziehung auf DB-Ebene

Jump to solution

Hallo Community,

ich habe in der FS-GUI eine Beziehung zwischen den beiden Tabellen programs und videoplayer (n:1).

XML vor dem Löschen:

<xs:keyref dbName="FK_PROGRAMS_VIDEO1" field="programsList" name="fk_PROGRAMS_VIDEOPLAYER" refer="videoplayer" tfield="videoplayer">

     <xs:selector xpath="programs" />

     <xs:attribute xpath="VIDE_FS_ID" />

</xs:keyref>

Nach dem Löschen aus der FS-GUI ist diese Beziehung nicht mehr vorhanden.

Meine Frage ist nun, was muss ich auf Datenbankebene noch löschen? Wenn ich mir die Tabelle programs und videoplayer im DB-Tool ansehe, sehe ich die FK-Beziehung nicht. Wurde die vielleicht mit gelöscht? Ein Sync beim Löschen von Feldern in der GUI zur DB-Ebene besteht eigentlich nicht.

Allerdings gibt es in der Tabelle programs noch eine Spalte "VIDE_FS_ID". Muss diese gelöscht werden? Falls ja, muss dann in der XML-Datei des Schemas in der Tabelle programs der dazugehörige Eintrag

<xs:element dbName="VIDE_FS_ID" name="VIDE_FS_ID" nullable="1" type="xs:long" visible="0"/>

mit gelöscht werden?

Ich hoffe auf zahlreiche Antworten Smiley Happy

Viele Grüße,

Patricia

0 Kudos
1 Solution

Accepted Solutions
mbergmann
Crownpeak employee

Hallo Patricia,

Du musst die Relation DB-seitig üblicherweise nicht löschen.

Grundsätzlich löscht FirstSpirit (z.B. auch wenn man dort im Schema eine Spalte löscht) selbst keine DB-Spalten, da sonst die Versionierung unterlaufen würde - theoretisch kann es ja sein, dass man das Schema mal auf eine ältere Version zurücksetzen will. Wenn dann die Spalte in der DB "permanent" weg wäre, käme es natürlich zu Problemen.

Das ist übrigens ein Grund warum man den Haken bei "leeren Wert erlauben" immer gesetzt lasen sollte...

Viele Grüße

Michael

View solution in original post

0 Kudos
2 Replies
mbergmann
Crownpeak employee

Hallo Patricia,

Du musst die Relation DB-seitig üblicherweise nicht löschen.

Grundsätzlich löscht FirstSpirit (z.B. auch wenn man dort im Schema eine Spalte löscht) selbst keine DB-Spalten, da sonst die Versionierung unterlaufen würde - theoretisch kann es ja sein, dass man das Schema mal auf eine ältere Version zurücksetzen will. Wenn dann die Spalte in der DB "permanent" weg wäre, käme es natürlich zu Problemen.

Das ist übrigens ein Grund warum man den Haken bei "leeren Wert erlauben" immer gesetzt lasen sollte...

Viele Grüße

Michael

0 Kudos

Hallo Michael,

vielen Dank für die Erklärung Smiley Happy

Viele Grüße,

Patricia

0 Kudos