web-dev-qa-db-ja.com

DbDeltaも列を削除しますか?

DbDelta関数を使用してテーブルを作成し、次にいくつかの列を削除していくつか追加しました。新しい列は作成されましたが、古い列はテーブルから削除されませんでした。

私はテーブルから列を削除することになっていると思われる別の方法はありますか?

6
Prakash Raman

私の知る限りでは、dbDelta()は主にデータベースにテーブルを追加するために使われます。列を追加または変更することもできます。列を削除するには、$wpdb->query()を使用します。

global $wpdb;
$table = $wpdb->prefix . 'table_name';
$wpdb->query( "ALTER TABLE $table DROP COLUMN column_name" );
8
shea

いいえ、dbDeltaはカラムを追加または変更できますが、削除することはできません。

DbDelta関数のコードはwp-admin/includes/upgrade.phpにあります。あなたはそれがそこで可能であるものを調べることができます。

11
Otto