Ich versuche, die Datenbanktabelle zu löschen, die erstellt wird, wenn mein benutzerdefiniertes Plugin aktiviert wird. Ich verwende im Grunde den gleichen Code, nur eine Drop-Abfrage. Der Tisch fällt jedoch nicht!
Folgendes habe ich bestätigt:
- Der WP-Datenbankbenutzer hat Berechtigungen zum Löschen von Tabellen (ich habe dies bestätigt, indem ich eine SQL-Abfrage in der Workbench ausgeführt habe).
-
Die Abfrage wird aufgerufen und ist korrekt (ich habe ‘die($sql)’ verwendet, um die Abfrage auszugeben, und sie dann in Workbench ausgeführt.)
function my_plugin_remove_database() { global $wpdb; $table_name = $wpdb->prefix . "my_plugin_table"; $sql = "DROP TABLE IF EXISTS $table_name;"; //die($sql); require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); delete_option("my_plugin_db_version"); } register_deactivation_hook( __FILE__, 'my_plugin_remove_database' );