Mehrere Dateninstanzen in der benutzerdefinierten Plug-in-databasetabelle bei der Aktivierung des Plugins

Ich erstelle ein Plugin, das einige Daten zu einer benutzerdefinierten Tabelle hinzufügt, die von meinem Plugin bei Plugin-Aktivierungen erstellt wurde.

Ich habe auch eine Einstellungsseite mit einem Formular erstellt, mit dem Benutzer ihre eigenen Daten in die database einfügen können.

Das Problem Alles funktioniert gut, aber jedes Mal wenn ich deaktiviere (ich meine nicht deinstallieren) und das Plugin reaktiviere, werden die Daten in der Tabelle dupliziert.

Wohlgemerkt, aufgrund der großen Datenmenge habe ich “longtext” als Tabellenspaltentyp gewählt.

Der Typ der Spalten ist nicht EINZIGARTIG.

Meine Frage Wie verhindere ich, dass das Plugin die gleichen Daten, die in die database eingefügt werden sollen, nur einmal bei der Aktivierung des Plugins einfügt?

Solutions Collecting From Web of "Mehrere Dateninstanzen in der benutzerdefinierten Plug-in-databasetabelle bei der Aktivierung des Plugins"

Fügen Sie eine Überprüfung hinzu, wenn das Plugin aktiviert ist, um zu sehen, ob die Daten (Spalte / Tabelle) bereits in db existieren oder nicht?

Wenn die Daten bereits vorhanden sind, überspringen Sie den db-Teil und markieren Sie das Plugin als aktiv.

Eine großartige Lösung gefunden.

Grundsätzlich können Sie prüfen, ob ein Optionsname existiert und wenn er bereits existiert, fügen Sie Ihre Daten nicht ein.

Die Hauptidee besteht darin, dass jedes Mal, wenn sich Ihr databaseschema ändert und eine Aktualisierung der database Ihres Benutzers erfordert, das DB_VER um 1 erhöht und anschließend eine databaseaktualisierungsroutine für den aktuellen DB_VER geschrieben werden muss. Dies würde eine Art Evolutionspfad Ihres databaseschemas erzeugen, was sehr hilfreich ist, wenn Ihr Benutzer von einer alten Version auf die neueste Version upgraden muss. WordPress selbst behält seine Schemaänderungen auf diese Weise im Auge, so dass es immer sicher ist, von WordPress 2.x auf 3.x ohne viel Problem zu aktualisieren.

Ausführliche Erklärung, wie diese Arbeit hier gefunden werden kann http://solislab.com/blog/plugin-activation-checklist/#manage-version