J'ai créé une table à l'aide de la fonction dbDelta, puis j'ai supprimé quelques colonnes et en ai ajouté quelques-unes. Les nouvelles colonnes ont été créées mais les anciennes colonnes n'ont pas été supprimées de la table.
Existe-t-il un moyen différent de supprimer des colonnes du tableau?
Autant que je sache, dbDelta()
est principalement utilisé pour ajouter des tables à la base de données. Il peut également ajouter ou modifier des colonnes. Pour supprimer des colonnes, vous devez utiliser $wpdb->query()
:
global $wpdb;
$table = $wpdb->prefix . 'table_name';
$wpdb->query( "ALTER TABLE $table DROP COLUMN column_name" );
Non, dbDelta peut ajouter ou modifier des colonnes, mais pas les supprimer.
Le code de la fonction dbDelta se trouve dans wp-admin/includes/upgrade.php. Vous pouvez examiner ce dont il est capable.