Explorar el Código

Add translation of numeric types in MySQL to actual types.

Rob Cermak hace 8 años
padre
commit
7fb964c469
Se han modificado 1 ficheros con 14 adiciones y 1 borrados
  1. 14
    1
      api.php

+ 14
- 1
api.php Ver fichero

@@ -88,7 +88,15 @@ class MySQL implements DatabaseInterface {
88 88
 					k2."REFERENCED_TABLE_SCHEMA" = ? AND
89 89
 					k1."TABLE_NAME" COLLATE \'utf8_bin\' = k2."TABLE_NAME" COLLATE \'utf8_bin\' AND
90 90
 					k1."REFERENCED_TABLE_NAME" COLLATE \'utf8_bin\' = ? AND
91
-					k2."REFERENCED_TABLE_NAME" COLLATE \'utf8_bin\' IN ?'
91
+					k2."REFERENCED_TABLE_NAME" COLLATE \'utf8_bin\' IN ?',
92
+			'reflect_type'=> 'SELECT
93
+					"COLUMN_NAME", "COLUMN_TYPE"
94
+				FROM
95
+					"INFORMATION_SCHEMA"."COLUMNS"
96
+				WHERE
97
+					"TABLE_SCHEMA" = ? AND
98
+					"TABLE_NAME" = ?
99
+			'
92 100
 		);
93 101
 	}
94 102
 
@@ -2217,6 +2225,11 @@ class PHP_CRUD_API {
2217 2225
 				foreach ($primaryKeys as $primaryKey) {
2218 2226
 					$table_fields[$table['name']][$primaryKey]->primaryKey = true;
2219 2227
 				}
2228
+				$result = $this->db->query($this->db->getSql('reflect_type'),array($database,$table_list[0]));
2229
+				while ($row = $this->db->fetchRow($result)) {
2230
+					$expl = explode('(',$row[1]);
2231
+					$table_fields[$table['name']][$row[0]]->type = $expl[0];
2232
+				}
2220 2233
 			}
2221 2234
 
2222 2235
 			foreach (array('root_actions','id_actions') as $path) {

Loading…
Cancelar
Guardar