Beispiel #1
0
 public function __construct($conn)
 {
     parent::__construct($conn);
     /**
      * Auto increment.
      */
     $this->columnTypes['autoincrement'] = 'serial';
     $this->columnTypes['longbinary'] = 'bytea';
 }
Beispiel #2
0
 /**
  * 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;
 }
Beispiel #3
0
 /**
  * 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;
 }