{"slug":"lavo-bulk-edit-for-woocommerce","name":"Lavo Bulk Edit for WooCommerce","description":"Bulk edit WooCommerce products, prices, stock, and variations at once. No row caps, compound filters, and real post-save undo.","author":"LavoHQ","active_installs":0,"version":"1.0.0","wp_org_url":"https://wordpress.org/plugins/lavo-bulk-edit-for-woocommerce/","is_closed":false,"cleanup":{"has_uninstall_hook":true,"drops_tables_on_uninstall":true,"deletes_options_on_uninstall":true},"tables":[{"table_name":"lavo_bulk_edit_jobs","full_table_name":"wp_lavo_bulk_edit_jobs","description":"A job queue table for managing background tasks and scheduled operations.","detection_method":"static","confidence":"medium","columns":[],"create_sql":null},{"table_name":"lavo_bulk_edit_log","full_table_name":"wp_lavo_bulk_edit_log","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"medium","columns":[{"name":"id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":true},{"name":"batch_id","type":"varchar(36)","nullable":false,"primary_key":false},{"name":"user_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"product_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"field_name","type":"varchar(100)","nullable":false,"primary_key":false},{"name":"old_value","type":"longtext","nullable":true,"primary_key":false},{"name":"new_value","type":"longtext","nullable":true,"primary_key":false},{"name":"reverted","type":"tinyint(1)","nullable":false,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false},{"name":"attribute_name","type":"varchar(200)","nullable":false,"primary_key":false},{"name":"attribute_value","type":"varchar(200)","nullable":false,"primary_key":false},{"name":"batch_id","type":"varchar(64)","nullable":false,"primary_key":false},{"name":"job_type","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"user_id","type":"bigint(20) UNSIGNED","nullable":false,"primary_key":false},{"name":"status","type":"varchar(20)","nullable":false,"primary_key":false},{"name":"total","type":"int(11) UNSIGNED","nullable":false,"primary_key":false},{"name":"processed","type":"int(11) UNSIGNED","nullable":false,"primary_key":false},{"name":"created_at","type":"datetime","nullable":false,"primary_key":false},{"name":"completed_at","type":"datetime","nullable":true,"primary_key":false}],"create_sql":"CREATE TABLE wp_lavo_bulk_edit_log ( id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, batch_id varchar(36) NOT NULL, user_id bigint(20) UNSIGNED NOT NULL, product_id bigint(20) UNSIGNED NOT NULL, field_name varchar(100) NOT NULL, old_value longtext DEFAULT NULL, new_value longtext DEFAULT NULL, reverted tinyint(1) NOT NULL DEFAULT 0, created_at datetime NOT NULL, PRIMARY KEY (id), KEY batch_id (batch_id), KEY product_id (product_id), KEY created_at (created_at) ) $charset;\"; // Custom attribute lookup — flat index of non-taxonomy attribute values // so we can filter by custom attribute without serialised-meta LIKE hacks. $attr_lookup = \"CREATE TABLE wp_lavo_custom_attr_lookup ( product_id bigint(20) UNSIGNED NOT NULL, attribute_name varchar(200) NOT NULL, attribute_value varchar(200) NOT NULL, PRIMARY KEY (product_id, attribute_name(100), attribute_value(100)), KEY attr_name_value (attribute_name(100), attribute_value(100)) ) $charset;\"; // Job tracking — persists async bulk-edit job state so large operations // survive page refreshes and the progress bar can reconnect. $jobs = \"CREATE TABLE wp_lavo_bulk_edit_jobs ( job_id varchar(36) NOT NULL, batch_id varchar(64) NOT NULL DEFAULT '', job_type varchar(20) NOT NULL DEFAULT 'bulk_update', user_id bigint(20) UNSIGNED NOT NULL, status varchar(20) NOT NULL DEFAULT 'queued', total int(11) UNSIGNED NOT NULL DEFAULT 0, processed int(11) UNSIGNED NOT NULL DEFAULT 0, created_at datetime NOT NULL, completed_at datetime DEFAULT NULL, PRIMARY KEY (job_id), KEY user_id (user_id), KEY status (status) ) $charset;\"; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta( $audit_log );"},{"table_name":"lavo_custom_attr_lookup","full_table_name":"wp_lavo_custom_attr_lookup","description":"Stores lavo custom attr lookup data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":null}],"table_count":3}