Löschen Sie eine Funktion, behalten Sie jedoch den von ihr erstellten Inhalt bei

8

Ist es möglich, die von einem Feature erstellten Daten nach dem Löschen des Features selbst beizubehalten?
Ich habe eine Migrationsfunktion erstellt, die wirklich nur einmalig ist. Ich möchte es löschen, ohne die daraus erstellten Knoten zu verlieren.

Chris Muench
quelle

Antworten:

6

Mit dem Funktionsmodul können die meisten Einstellungen, die normalerweise in der Datenbank gespeichert sind, in Code exportiert werden. Wenn Sie die Funktion löschen, löschen Sie den Code, der alles löscht.

Das Coole an Funktionen ist, dass Sie die Einstellungen für Dinge (Ansichten, Bedienfelder usw.) jederzeit ändern können und diese Änderungen in der Datenbank gespeichert werden. Sobald sie in der Datenbank gespeichert sind, sollte es in Ordnung sein, die Funktion zu löschen (obwohl ich dies selbst nicht ausprobiert habe).

Der einfachste Weg, dies zu tun, besteht darin, in jedes Element Ihrer Funktion zu gehen und es erneut zu speichern. Wenn Ihre Funktion beispielsweise eine Ansicht mit dem Namen "Nachrichten" hatte, können Sie zu Struktur> Ansichten> Nachrichten> Bearbeiten gehen. Klicken Sie dann in dieser Ansicht auf Speichern. Wenn Sie sich Ihre Funktion ansehen, sollte sie jetzt "Überschrieben" lauten.

Geben Sie hier die Bildbeschreibung ein

Sobald alles überschrieben ist, sollte es in Ordnung sein, die Funktion zu löschen. Stellen Sie sicher, dass Sie eine Sicherungskopie aller Daten erstellen, und deaktivieren Sie zuerst die Funktion, um sicherzustellen, dass nicht alle benötigten Elemente verschwinden.

rocketeerbkw
quelle
4

Sie können das Modul Features Tools verwenden . Das Hauptziel des Moduls besteht darin, Elemente aus einem Feature zu entfernen und wieder in die Datenbank zu stellen.


quelle
1
Es fällt mir schwer herauszufinden, wie ich das verwenden soll. Wie kann ich einfach die Verknüpfung der gesamten Funktion mit der Datenbank aufheben? Ich möchte dann alle Spuren des Funktionsmoduls und der Funktionswerkzeuge entfernen.
Chris Muench
Um die Elemente in der Datenbank zu speichern, müssen Sie zur Seite admin / build / features / unlink gehen und das Element überprüfen, das Sie importieren und senden möchten.
Diese Seite existiert nicht, sie gibt mir nur eine Standardseite. Ich benutze Drupal 7.
Chris Muench
Entschuldigung, das ist der D6-Pfad. Versuchen Sie es mit admin / structure / features / unlink (Stellen Sie sicher, dass Sie Ihre Frage mit einer Drupal-Versionsnummer versehen.).
1

Ich habe eine einfache Möglichkeit gefunden, dies zu tun, indem ich einfach alle Abhängigkeiten aus Ihrer .info-Datei auskommentiere und sie dann sicher neu erstelle, deaktiviere / deinstalliere.

Rob Steinhilber
quelle
@ rob-steinhilber: Alles, was Sie tun, ist "alle Abhängigkeiten aus Ihrer .info-Datei für die Funktion auskommentieren und dann die Datei speichern, dann die Funktion neu erstellen und dann die Funktion deaktivieren / deinstallieren". und die Daten bleiben erhalten, die von einem Feature nach dem Löschen des Features selbst erstellt wurden?
John Mitchell