In welcher Tabelle werden die Felder für den Inhaltstyp gespeichert?


7

Ich habe einen Inhaltstyp in Drupal 8 und in welcher Tabelle werden die Inhaltstypfelder gespeichert und in Drupal 8 eingegeben? Unlike in drupal 6(in denen es Tabellen speziell für Inhaltstypen gibt) wie content_type_contenttypenamedas Nicht-Erstellen der Tabelle und der Felder. Wo werden diese Felder und Datentypen in Drupal 8 gespeichert?

Antworten:


12

Drupal 8:

  • Inhaltstyp = Bundle
  • Knoten = Entität

  • Basisfelder befinden sich in einer Tabelle: [entity]_field_data

  • Bündelfelder befinden sich in separaten Tabellen: [entity]__field_name

Bundle-Felder werden für alle Bundles einer Entität in derselben Tabelle gespeichert und können von Bundles derselben Entität gemeinsam genutzt werden, jedoch nicht mit einer anderen Entität.


Ich versuche nur herauszufinden, wofür diese bundleSpalte in den Feldtabellen eigentlich ist, weißt du? Angesichts der Tatsache, dass Entitäts-IDs eindeutig sind und ein Knoten nur ein Bundle haben kann, habe ich Schwierigkeiten, etwas zu finden, das ihn nützlich macht. Die Beschreibung besagt, dass es verwendet wird, wenn Felder gelöscht werden, aber das macht auch für mich keinen Sinn ...
Clive

3
Bundle ist ein Indexschlüssel, daher dient dies wahrscheinlich dazu, Inhalte schneller zu finden. Wenn Sie beispielsweise ein Bundle löschen möchten, müssen Sie ansonsten die vollständige Tabelle durchgehen.
4k4

Ja, das wird es sein. Prost
Clive

Ich habe von d6-> d8 migriert, daher gibt es viele Tabellen, die migrate_map_d6_ und migrate_message_d6_ starten . Irgendeine Idee dazu?
KTM

Nein, nie von d6 migriert. Stellen Sie eine andere Frage.
4k4

2

Jeder Feldwert wird in einer separaten Tabelle gespeichert.

Für das Feld foo lautet der Tabellenname node__foo


Es wird also keine Tabelle geben, die für Inhaltstypen spezifisch ist? Für jedes Feld in einem Inhaltstyp gibt es so viele Tabellen?
KTM

Ja. Dies ist das Standardverhalten für Bundle-spezifische Felder (Inhalt für Knoten) in Drupal 8
Eyal

@Icecreamsandwich IIRC, das sich in D7 geändert hat, als die richtige Feldunterstützung im Kern (anstelle von CCK) eingeführt wurde. Die D6-Methode, manchmal die Inhaltstypentabelle für Felddaten zu verwenden, war fragil und führte zu fehlerhaften Abfragen, wenn sich die Dinge ändern. Dies macht es stabiler und vorhersehbarer.
mpdonadio
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.