get_charset_collate(); // Rules table $rules_table = $wpdb->prefix . 'sodino_rules'; $rules_sql = "CREATE TABLE $rules_table ( id mediumint(9) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, conditions longtext NOT NULL, actions longtext NOT NULL, priority int(11) NOT NULL DEFAULT 10, usage_limit int(11) NOT NULL DEFAULT 0, user_roles varchar(255) DEFAULT '', start_date datetime NULL, end_date datetime NULL, enabled tinyint(1) DEFAULT 1, condition_type varchar(100) DEFAULT NULL, condition_value varchar(255) DEFAULT NULL, action_type varchar(100) DEFAULT NULL, action_value varchar(255) DEFAULT NULL, created_at datetime DEFAULT CURRENT_TIMESTAMP, updated_at datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset_collate;"; // Events table $events_table = $wpdb->prefix . 'sodino_events'; $events_sql = "CREATE TABLE $events_table ( id mediumint(9) NOT NULL AUTO_INCREMENT, event_type varchar(100) NOT NULL, product_id mediumint(9) DEFAULT NULL, variation_id mediumint(9) DEFAULT NULL, user_id bigint(20) DEFAULT NULL, session_id varchar(255) DEFAULT NULL, rule_id mediumint(9) DEFAULT NULL, value decimal(10,2) DEFAULT 0, discount_value decimal(10,2) DEFAULT 0, metadata longtext DEFAULT NULL, created_at datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset_collate;"; // Upsell table $upsell_table = $wpdb->prefix . 'sodino_upsells'; $upsell_sql = "CREATE TABLE $upsell_table ( id mediumint(9) NOT NULL AUTO_INCREMENT, title varchar(255) NOT NULL, trigger_type varchar(50) NOT NULL, trigger_value varchar(255) NOT NULL, target_product_id bigint(20) NOT NULL DEFAULT 0, discount_type varchar(50) DEFAULT 'percentage', discount_value decimal(10,2) DEFAULT 0, status tinyint(1) DEFAULT 1, priority int(11) NOT NULL DEFAULT 10, created_at datetime DEFAULT CURRENT_TIMESTAMP, updated_at datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id) ) $charset_collate;"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($rules_sql); dbDelta($events_sql); dbDelta($upsell_sql); // Add version option add_option('sodino_db_version', '1.2'); }