code: public function getSchemaColumnsData(string $driver, string $db, string $table, string $fieldPrefix): array
      {
          $schemaDao = $this->getSchemaDao($driver);
          list($mapingTypes, $phpTypes) = $this->getSchemaTypes($driver);
          $columnSchemas = $schemaDao->getColumnsSchema($db, $table);
  
          foreach ($columnSchemas as &$columnSchema) {
              $type = $columnSchema['type'];
              if (empty($fieldPrefix)) {
                  $mappingName = $columnSchema['name'];
              } else {
                  $mappingName = StringHelper::replaceFirst($fieldPrefix, '', $columnSchema['name']);
              }
  
              $columnSchema['mappingName'] = StringHelper::camel($mappingName);
              $columnSchema['mappingVar']  = sprintf('$%s', $columnSchema['mappingName']);
              $columnSchema['mappingType'] = $mapingTypes[$type]??'';
              $columnSchema['phpType']     = $phpTypes[$type]??'';
          }
  
          return $columnSchemas;
      }
docs: @param string $driver
  @param string $db
  @param string $table
  @param string $fieldPrefix
  
  @return array