code: private function getIndexLength(Table $table, string $column): ?int
      {
          $col = $table->getColumn($column);
  
          // Not a text field
          if (null === ($length = $col->getLength())) {
              return null;
          }
  
          // Return if the field is shorter than the shortest possible index
          // length (utf8mb4 on InnoDB without large prefixes)
          if ($length <= 191) {
              return null;
          }
  
          if ($col->hasPlatformOption('collation')) {
              $collation = $col->getPlatformOption('collation');
          } else {
              $collation = $table->getOption('collate');
          }
  
          $defaultLength = $this->getDefaultIndexLength($table);
          $bytes = 0 === strncmp($collation, 'utf8mb4', 7) ? 4 : 3;
          $indexLength = (int) floor($defaultLength / $bytes);
  
          // Return if the field is shorter than the index length
          if ($length <= $indexLength) {
              return null;
          }
  
          return $indexLength;
      }
docs: Returns the index length if the index needs to be shortened.