Yoast\WP\Lib\Migrations
Table::finish() public Yoast 1.0
Table definition
{} Это метод класса: Table{}
Хуков нет.
Возвращает
true/false. | string
Использование
$Table = new Table(); $Table->finish( $wants_sql );
- $wants_sql(true/false)
- Whether or not to return SQL or execute the query.
По умолчанию: false
Код Table::finish() Table::finish Yoast 15.9.1
public function finish( $wants_sql = false ) {
if ( ! $this->initialized ) {
throw new Exception( \sprintf( "Table Definition: '%s' has not been initialized", $this->name ) );
}
$opt_str = '';
if ( \is_array( $this->options ) && \array_key_exists( 'options', $this->options ) ) {
$opt_str = $this->options['options'];
}
else {
if ( isset( $this->adapter->db_info['charset'] ) ) {
$opt_str = ' DEFAULT CHARSET=' . $this->adapter->db_info['charset'];
}
else {
$opt_str = ' DEFAULT CHARSET=utf8';
}
}
$close_sql = \sprintf( ') %s;', $opt_str );
$create_table_sql = $this->sql;
if ( $this->auto_generate_id === true ) {
$this->primary_keys[] = 'id';
$primary_id = new Column(
$this->adapter,
'id',
'integer',
[
'unsigned' => true,
'null' => false,
'auto_increment' => true,
]
);
$create_table_sql .= $primary_id->to_sql() . ",\n";
}
$create_table_sql .= $this->columns_to_str();
$create_table_sql .= $this->keys() . $close_sql;
if ( $wants_sql ) {
return $create_table_sql;
}
return $this->adapter->execute_ddl( $create_table_sql );
}