Ejemplo n.º 1
0
 /**
  * @param   string  $fieldType
  * @return  string
  */
 protected function _simplifiedType($fieldType)
 {
     if (strpos(strtolower($fieldType), 'tinyint(1)') !== false) {
         return 'boolean';
     } elseif (preg_match('/enum/i', $fieldType)) {
         return 'string';
     }
     return parent::_simplifiedType($fieldType);
 }
Ejemplo n.º 2
0
 /**
  * @param   string  $fieldType
  * @return  string
  */
 protected function _simplifiedType($fieldType)
 {
     switch (true) {
         // Numeric and monetary types
         case preg_match('/^(?:real|double precision)$/', $fieldType):
             return 'float';
             // Monetary types
         // Monetary types
         case preg_match('/^money$/', $fieldType):
             return 'decimal';
             // Character types
         // Character types
         case preg_match('/^(?:character varying|bpchar)(?:\\(\\d+\\))?$/', $fieldType):
             return 'string';
             // Binary data types
         // Binary data types
         case preg_match('/^bytea$/', $fieldType):
             return 'binary';
             // Date/time types
         // Date/time types
         case preg_match('/^timestamp with(?:out)? time zone$/', $fieldType):
             return 'datetime';
         case preg_match('/^interval$/', $fieldType):
             return 'string';
             // Geometric types
         // Geometric types
         case preg_match('/^(?:point|line|lseg|box|"?path"?|polygon|circle)$/', $fieldType):
             return 'string';
             // Network address types
         // Network address types
         case preg_match('/^(?:cidr|inet|macaddr)$/', $fieldType):
             return 'string';
             // Bit strings
         // Bit strings
         case preg_match('/^bit(?: varying)?(?:\\(\\d+\\))?$/', $fieldType):
             return 'string';
             // XML type
         // XML type
         case preg_match('/^xml$/', $fieldType):
             return 'string';
             // Arrays
         // Arrays
         case preg_match('/^\\D+\\[\\]$/', $fieldType):
             return 'string';
             // Object identifier types
         // Object identifier types
         case preg_match('/^oid$/', $fieldType):
             return 'integer';
     }
     // Pass through all types that are not specific to PostgreSQL.
     return parent::_simplifiedType($fieldType);
 }