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?

KTM
quelle

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.

4k4
quelle
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

Eyal
quelle
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