/** * Adds support for replacing default arguments. * @param type $type */ public function getColumnType($type) { if (preg_match('/^([[:alpha:]]+)\\s*(\\(.+?\\))(.*)$/', $type, $matches)) { $baseType = parent::getColumnType($matches[1] . ' ' . $matches[3]); $param = $matches[2]; $result = preg_replace('/\\(.+?\\)/', $param, $baseType, 1); } else { $result = parent::getColumnType($type); } return $result; }
/** * Adds support for replacing default arguments. * @param string $type * @return string */ public function getColumnType($type) { if (isset($this->columnTypes[$type])) { // Direct : get it $sResult = $this->columnTypes[$type]; } elseif (preg_match('/^([a-zA-Z ]+)\\((.+?)\\)(.*)$/', $type, $matches)) { // With params : some test to do $baseType = parent::getColumnType($matches[1]); if (preg_match('/^([a-zA-Z ]+)\\((.+?)\\)(.*)$/', $baseType, $baseMatches)) { // Replace the default Yii param $sResult = preg_replace('/\\(.+\\)/', "(" . $matches[2] . ")", parent::getColumnType($matches[1] . " " . $matches[3])); } else { // Get the base type and join $sResult = join(" ", array($baseType, "(" . $matches[2] . ")", $matches[3])); } } else { $sResult = parent::getColumnType($type); } return $sResult; }