20_230_601, ]; /** * Posts constructor. * * @access public * @since 2.0.0 * @return void */ public function __construct() { parent::__construct(); } /** * Setup the database schema * * @access protected * @since 2.0.0 * @return void */ protected function set_schema(): void { $this->schema = "id bigint(20) NOT NULL AUTO_INCREMENT, author_id bigint(20) NOT NULL, type tinytext NOT NULL DEFAULT '', slug tinytext NOT NULL DEFAULT '', title tinytext NOT NULL DEFAULT '', content longtext NOT NULL default '', excerpt longtext NOT NULL default '', date_created datetime NULL, date_modified datetime NULL, list_order tinyint default 10, status varchar(100) NOT NULL default 'draft', PRIMARY KEY (id)"; } /** * Fixes the datetime columns to accept null. * * @since 2.1.2 */ protected function __20230601(): bool { $null_columns = [ 'date_created', 'date_modified', ]; foreach ($null_columns as $column) { $query = "ALTER TABLE {$this->table_name} MODIFY COLUMN `{$column}` datetime DEFAULT NULL;"; $result = $this->get_db()->query($query); if ( ! $this->is_success($result)) { return false; } } return true; } }