Baut man dies so in ein Plugin ein, kann es unter Umständen passieren, dass sich ein Plugin nicht mehr deinstallieren lässt, sollte das entsprechende Attribut nicht mehr existieren. Das kann meiner Meinung nach in zwei Situationen vorkommen:
Es gab einen Fehler bei Update oder Installation, sodass das Attribut nicht angelegt wurde
Der Nutzer hat das Attribut entfernt, sofern es bearbeitbar war.
Wäre es daher nicht sinnvoll vor dem Löschen zu prüfen, ob zu löschendes Attribut existiert? Und wenn nicht einfach die Uninstall-Funktion weiter durchzuführen? Gibt Es hier einen Best-Practice?
hm… also in der Entwicklungsumgebung ist schwer zu sagen, welche Version das ist. Die Umgebung wurde im Januar komplett neu aufgesetzt. Wird also irgendwas in Richtung 5.2.16 sein?! Habe in die entsprechende Datei geschaut. Ja die Abfrage ist vorhanden.
Beim Testen ist jedoch der Fall aufgetreten, dass das Plugin nicht mehr deinstalliert werden konnte, weil die Attributfelder nicht vorhanden waren.
hm… also in der Entwicklungsumgebung ist schwer zu sagen, welche Version das ist. Die Umgebung wurde im Januar komplett neu aufgesetzt. Wird also irgendwas in Richtung 5.2.16 sein?! Habe in die entsprechende Datei geschaut. Ja die Abfrage ist vorhanden.
Beim Testen ist jedoch der Fall aufgetreten, dass das Plugin nicht mehr deinstalliert werden konnte, weil die Attributfelder nicht vorhanden waren.
Weil eine Exception geworfen wird. Wie schon beschrieben mach ein try/catch darum und es funktioniert.
Sehe ich das richtig, dass bei einem Löschen der Attribute die entsprechenden Felder in der Tabelle tatsächlich gedropped werden? Sprich: eventuelle Informationen sind danach weg?
das ist ja der Sinne der Sache des Löschens eines Freitextfeldes . Also ja. Bei Plugins hat man aber die Möglichkeit, auch das Löschen solcher Freitextfelder beispielsweise bei einer Neuinstallation des Plugins zu verhindern / unterbinden.