get_charset_collate(); $sql = "CREATE TABLE {$wpdb->prefix}miravia_accounts ( id mediumint(9) NOT NULL AUTO_INCREMENT, created datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, updated datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, name tinytext NOT NULL, token varchar(200) NOT NULL, userid varchar(30) DEFAULT '' NOT NULL, config TEXT, lang varchar(10) NOT NULL, email varchar(100) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; $sql .= "CREATE TABLE {$wpdb->prefix}miravia_profiles ( id mediumint(9) NOT NULL AUTO_INCREMENT, created datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, updated datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, name tinytext NOT NULL, accounts_id varchar(200) NOT NULL, categories varchar(250) DEFAULT '' NOT NULL, miravia_category bigint NOT NULL DEFAULT 0, config TEXT, PRIMARY KEY (id) ) $charset_collate;"; $sql .= "CREATE TABLE {$wpdb->prefix}miravia_products ( id mediumint(9) NOT NULL AUTO_INCREMENT, created datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, updated datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, last_updated datetime DEFAULT '0000-00-00 00:00:00', id_woocommerce BIGINT NOT NULL, sku varchar(100) NOT NULL, id_miravia BIGINT NOT NULL, job_id VARCHAR(100) NOT NULL DEFAULT '0', stock INT NOT NULL DEFAULT 0, price FLOAT(50,2) NULL DEFAULT NULL, sale_price FLOAT(50,2) NULL DEFAULT NULL, profile_id INT DEFAULT 0 NOT NULL, lastError varchar(255) DEFAULT '', status_text varchar(100) DEFAULT '', PRIMARY KEY (id) ) $charset_collate;"; $sql .= "CREATE TABLE {$wpdb->prefix}miravia_rules ( id mediumint(9) NOT NULL AUTO_INCREMENT, created datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, updated datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, name_rule VARCHAR(100) NOT NULL, accounts INT NOT NULL DEFAULT 0, profile_id INT NOT NULL DEFAULT 0, rules_json TEXT, action_json TEXT, action_type VARCHAR(100) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; // Feed Jobs table for managing Feed API submissions $sql .= "CREATE TABLE {$wpdb->prefix}miravia_feed_jobs ( id mediumint(9) NOT NULL AUTO_INCREMENT, feed_id VARCHAR(100) DEFAULT NULL, feed_document_id VARCHAR(255) DEFAULT NULL, feed_type VARCHAR(50) DEFAULT 'PRODUCT_LISTING', status VARCHAR(50) DEFAULT 'PENDING', product_count INT DEFAULT 0, product_ids TEXT DEFAULT NULL, processing_start_time datetime DEFAULT NULL, processing_end_time datetime DEFAULT NULL, created datetime DEFAULT CURRENT_TIMESTAMP NOT NULL, updated datetime DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP, error_message TEXT DEFAULT NULL, result_data LONGTEXT DEFAULT NULL, PRIMARY KEY (id), KEY feed_id (feed_id), KEY status (status), KEY created (created) ) $charset_collate;"; //Run SQL require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta( $sql ); //Update bd version plugin update_option( 'miravia_db_version', MIRAVIA_DB_VERSION ); LOG::add("La base de datos ha sido actualizada a la versión " . MIRAVIA_DB_VERSION); } } }