code: public function run(): void
      {
          $crop = $GLOBALS['TL_CROP'];
  
          if (empty($crop)) {
              return;
          }
  
          $options = [];
  
          foreach ($crop as $group => $modes) {
              $options[] = array_values($modes);
          }
  
          if (!empty($options)) {
              $options = array_merge(...$options);
          }
  
          $rows = $this->connection->fetchAll('
              SELECT
                  id
              FROM
                  tl_image_size
          ');
  
          foreach ($rows as $imageSize) {
              $options[] = $imageSize['id'];
          }
  
          // Add the database fields
          $this->connection->query('
              ALTER TABLE
                  tl_user
              ADD
                  imageSizes blob NULL
          ');
  
          $this->connection->query('
              ALTER TABLE
                  tl_user_group
              ADD
                  imageSizes blob NULL
          ');
  
          // Grant access to all existing image sizes at group level
          $stmt = $this->connection->prepare('
              UPDATE
                  tl_user_group
              SET
                  imageSizes = :options
          ');
  
          $stmt->execute([':options' => serialize($options)]);
      }
docs: {@inheritdoc}