Mit Drupal 7 hatten wir das Field Rename- Modul, das jedoch noch nicht auf Drupal portiert wurde.
Welche SQL-Magie wird also benötigt, um ein Feld in Drupal 8 umzubenennen?
Mit Drupal 7 hatten wir das Field Rename- Modul, das jedoch noch nicht auf Drupal portiert wurde.
Welche SQL-Magie wird also benötigt, um ein Feld in Drupal 8 umzubenennen?
Antworten:
Ich hatte das Unglück, dies vorher tun zu müssen: P, und mein Rat wäre wie folgt:
Vergessen Sie das Umbenennen des vorhandenen Felds. Der Maschinenname ist auf mehrere schwer zu bearbeitende Stellen verteilt, und Sie werden wahrscheinlich einige verpassen und seltsame Fehler erhalten. Wenn Sie beispielsweise nur die Tabellen und die Konfiguration umbenennen, wird die Feld-API angepasst, wenn versucht wird, die alten Tabellen zu löschen, und festgestellt wird, dass sie bereits verschwunden sind. Die Schemainformationen werden im Schlüsselwertspeicher gespeichert und können nicht von Grund auf neu erstellt werden. Wenn Sie also manuelle Änderungen vornehmen, kann dies leicht zu einem fehlerhaften Zustand führen.
Erstellen Sie stattdessen das Feld mit dem richtigen Computernamen neu, kopieren Sie die Daten mit SQL und löschen Sie schließlich das alte Feld.
INSERT INTO node__field_new SELECT * FROM node__field_old;
INSERT INTO node_revision__field_new SELECT * FROM node_revision__field_old;
In Bezug auf den neuesten Kommentar von StevanRS ist dies nicht einfach so, denn wenn Sie nur nach dem Umbenennen importieren, schlägt dies fehl, da das ursprüngliche Feld nicht mehr vorhanden ist. Also, hier ist mein Vorschlag:
Typische Dateien, die Sie speichern müssen: