maybe_drop_column()
Drops column from database table, if it exists.
No Hooks.
Return
true|false
. True on success or if the column doesn't exist. False on failure.
Usage
maybe_drop_column( $table_name, $column_name, $drop_ddl );
- $table_name(string) (required)
- Database table name.
- $column_name(string) (required)
- Table column name.
- $drop_ddl(string) (required)
- SQL statement to drop column.
Notes
- Global. wpdb. $wpdb WordPress database abstraction object.
Changelog
Since 1.0.0 | Introduced. |
maybe_drop_column() maybe drop column code WP 6.6.2
function maybe_drop_column( $table_name, $column_name, $drop_ddl ) { global $wpdb; // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names. foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { // Found it, so try to drop it. // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared -- No applicable variables for this query. $wpdb->query( $drop_ddl ); // We cannot directly tell whether this succeeded! // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Cannot be prepared. Fetches columns for table names. foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { return false; } } } } // Else didn't find it. return true; }