skipAssertion(function (Schema $schema) { return $schema->getTable("{$this->prefix}lead_fields")->hasColumn('is_index'); }, sprintf('Schema includes this migration')); } public function up(Schema $schema): void { $this->addSql(" ALTER TABLE {$this->prefix}lead_fields ADD `is_index` TINYINT(1) DEFAULT 0 NOT NULL, ADD `char_length_limit` INT(3) NULL; "); $this->addSql(" UPDATE {$this->prefix}lead_fields SET `char_length_limit` = 255 WHERE `type` IN ('text', 'select', 'multiselect', 'phone', 'url', 'email') AND `char_length_limit` IS NULL; "); $indexHelper = $this->container->get(IndexHelper::class); $indexedColumns = implode("', '", $indexHelper->getIndexedColumnNames()); $this->addSql(" UPDATE {$this->prefix}lead_fields SET `is_index` = TRUE WHERE `alias` IN ('{$indexedColumns}'); "); } }