code: protected function createColumn($column)
      {
          $c = $this->createColumnSchema();
          $c->name = $column['COLUMN_NAME'];
          $c->allowNull = $column['NULLABLE'] === 'Y';
          $c->comment = $column['COLUMN_COMMENT'] === null ? '' : $column['COLUMN_COMMENT'];
          $c->isPrimaryKey = false;
          $this->extractColumnType($c, $column['DATA_TYPE'], $column['DATA_PRECISION'], $column['DATA_SCALE'], $column['DATA_LENGTH']);
          $this->extractColumnSize($c, $column['DATA_TYPE'], $column['DATA_PRECISION'], $column['DATA_SCALE'], $column['DATA_LENGTH']);
  
          $c->phpType = $this->getColumnPhpType($c);
  
          if (!$c->isPrimaryKey) {
              if (stripos($column['DATA_DEFAULT'], 'timestamp') !== false) {
                  $c->defaultValue = null;
              } else {
                  $defaultValue = $column['DATA_DEFAULT'];
                  if ($c->type === 'timestamp' && $defaultValue === 'CURRENT_TIMESTAMP') {
                      $c->defaultValue = new Expression('CURRENT_TIMESTAMP');
                  } else {
                      if ($defaultValue !== null) {
                          if (($len = strlen($defaultValue)) > 2 && $defaultValue[0] === "'"
                              && $defaultValue[$len - 1] === "'"
                          ) {
                              $defaultValue = substr($column['DATA_DEFAULT'], 1, -1);
                          } else {
                              $defaultValue = trim($defaultValue);
                          }
                      }
                      $c->defaultValue = $c->phpTypecast($defaultValue);
                  }
              }
          }
  
          return $c;
      }
docs: Creates ColumnSchema instance.
  
  @param array $column
  @return ColumnSchema