Files
MiraviaConnector/connector-miravia/classes/class.db.php

77 lines
3.3 KiB
PHP
Raw Normal View History

<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
class MIRAVIADB {
static function install() {
global $wpdb;
$installed_ver = get_option( "miravia_db_version", 0 );
if ($installed_ver != MIRAVIA_DB_VERSION) {
$charset_collate = $wpdb->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;";
//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);
}
}
}