Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
woocommerce
/
packages
/
action-scheduler
/
classes
/
schema
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php class ActionScheduler_LoggerSchema extends ActionScheduler_Abstract_Schema { const LOG_TABLE = 'actionscheduler_logs'; protected $schema_version = 3; public function __construct() { $this->tables = [self::LOG_TABLE]; } public function init() { add_action('action_scheduler_before_schema_update', array($this, 'update_schema_3_0'), 10, 2); } protected function get_table_definition($table) { global $wpdb; $table_name = $wpdb->{$table}; $charset_collate = $wpdb->get_charset_collate(); switch ($table) { case self::LOG_TABLE: $default_date = ActionScheduler_StoreSchema::DEFAULT_DATE; return "CREATE TABLE {$table_name} (\n\t\t\t\t log_id bigint(20) unsigned NOT NULL auto_increment,\n\t\t\t\t action_id bigint(20) unsigned NOT NULL,\n\t\t\t\t message text NOT NULL,\n\t\t\t\t log_date_gmt datetime NULL default '{$default_date}',\n\t\t\t\t log_date_local datetime NULL default '{$default_date}',\n\t\t\t\t PRIMARY KEY (log_id),\n\t\t\t\t KEY action_id (action_id),\n\t\t\t\t KEY log_date_gmt (log_date_gmt)\n\t\t\t\t ) {$charset_collate}"; default: return ''; } } public function update_schema_3_0($table, $db_version) { global $wpdb; if ('actionscheduler_logs' !== $table || version_compare($db_version, '3', '>=')) { return; } $table_name = $wpdb->prefix . 'actionscheduler_logs'; $table_list = $wpdb->get_col("SHOW TABLES LIKE '{$table_name}'"); $default_date = ActionScheduler_StoreSchema::DEFAULT_DATE; if (!empty($table_list)) { $query = "\n\t\t\t\tALTER TABLE {$table_name}\n\t\t\t\tMODIFY COLUMN log_date_gmt datetime NULL default '{$default_date}',\n\t\t\t\tMODIFY COLUMN log_date_local datetime NULL default '{$default_date}'\n\t\t\t"; $wpdb->query($query); } } }