View file File name : base-migration.php Content :<?php namespace ElementorPro\Modules\Forms\Submissions\Database\Migrations; use Elementor\Core\Base\Base_Object; use ElementorPro\Modules\Forms\Submissions\Database\Query; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } abstract class Base_Migration extends Base_Object { /* * Ref: wp-admin/includes/schema.php::wp_get_db_schema * * Indexes have a maximum size of 767 bytes. Historically, we haven't need to be concerned about that. * As of 4.2, however, we moved to utf8mb4, which uses 4 bytes per character. This means that an index which * used to have room for floor(767/3) = 255 characters, now only has room for floor(767/4) = 191 characters. */ const MAX_INDEX_LENGTH = 191; /** * @var \wpdb */ protected $wpdb; /** * @var Query */ protected $query; /** * Base_Migration constructor. * * @param \wpdb $wpdb */ public function __construct( \wpdb $wpdb ) { $this->wpdb = $wpdb; $this->query = Query::get_instance(); } /** * Run migration. * * @return void */ abstract public function run(); }