public function displaySummary(GeneratorStyle $io, ClassMetadata $metadata, $fieldName = null)
 {
     $headers = ['name', 'type', 'nullable', 'unique'];
     $rows = [];
     foreach ($metadata->fieldMappings as $field => $mapping) {
         if (null !== $fieldName && $fieldName !== $field) {
             continue;
         }
         $row = [];
         // name
         $row[] = $field;
         // type
         switch ($type = $metadata->getFieldType($field)) {
             case Type::STRING:
                 $row[] = sprintf('%s(%s)', $type, $metadata->getFieldLength($field));
                 break;
             case Type::DECIMAL:
                 $row[] = sprintf('%s (2,0)', $type);
                 break;
             default:
                 $row[] = $type;
                 break;
         }
         // nullable
         $row[] = $metadata->getFieldNullable($field) ? 'true' : 'false';
         // unique
         $row[] = $metadata->getFieldUnique($field) ? 'true' : 'false';
         $rows[] = $row;
     }
     $io->table($headers, $rows);
 }