File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/includes/DatabaseUpdates/5.3.0.php
<?php
namespace AutomateWoo\DatabaseUpdates;
use AutomateWoo\Database_Tables;
defined( 'ABSPATH' ) || exit;
/**
 * Class Database_Update_5_3_0
 *
 * Alters AW's custom meta tables to allow `null` meta values since dbDelta() won't make this change.
 */
class Database_Update_5_3_0 extends AbstractDatabaseUpdate {
	/** @var string */
	protected $version = '5.3.0';
	/**
	 * @return string[]
	 */
	private function get_tables_to_update() {
		return [
			'log-meta',
			'queue-meta',
			'customer-meta',
			'guest-meta',
		];
	}
	/**
	 * Process a database update batch.
	 *
	 * @return bool Return true if update is complete, false if not yet complete.
	 */
	protected function process() {
		global $wpdb;
		foreach ( $this->get_tables_to_update() as $table_id ) {
			try {
				$table = Database_Tables::get( $table_id );
				// phpcs:ignore WordPress.DB.DirectDatabaseQuery, WordPress.DB.PreparedSQL
				$wpdb->query( "ALTER TABLE {$table->get_name()} MODIFY meta_value longtext NULL" );
				$this->items_processed++;
			} catch ( \Exception $e ) {
				$this->log_processing_error( $e->getMessage() );
			}
		}
		return true;
	}
	/**
	 * @return bool|int
	 */
	public function get_items_to_process_count() {
		return count( $this->get_tables_to_update() );
	}
}
return new Database_Update_5_3_0();