maybe_drop_column()

最后更新于:2021-11-27 14:42:26

maybe_drop_column( string$table_name, string$column_name, string$drop_ddl)

Drops column from database table, if it exists.

参数

$table_name

(string) (Required) Database table name.

$column_name

(string) (Required) Table column name.

$drop_ddl

(string) (Required) SQL statement to drop column.

响应

(bool) True on success or if the column doesn’t exist. False on failure.

源文件

文件: gc-admin/install-helper.php

function maybe_drop_column( $table_name, $column_name, $drop_ddl ) {
	global $gcdb;

	foreach ( $gcdb->get_col( "DESC $table_name", 0 ) as $column ) {
		if ( $column === $column_name ) {

			// Found it, so try to drop it.
			$gcdb->query( $drop_ddl );

			// We cannot directly tell that whether this succeeded!
			foreach ( $gcdb->get_col( "DESC $table_name", 0 ) as $column ) {
				if ( $column === $column_name ) {
					return false;
				}
			}
		}
	}

	// Else didn't find it.
	return true;
}