56
56
//ejecutando la consulta preparada
57
57
$results = $prepare->execute(array('database'=>'test', 'schema'=>'public', 'table'=>'prueba'));
59
require_once CORE_PATH . 'libs/ActiveRecord/db_pool/rows.php';
59
require_once CORE_PATH . 'libs/ActiveRecord/db_pool/metadata.php';
60
$metadata = new Metadata();
61
61
while ($field = $prepare->fetchObject()) {
63
$column = $row->column($field->name);
64
$column->setAlias($field->name);
63
$attribute = $metadata->attribute($field->name);
65
$attribute->alias = ucwords(strtr($field->name,'_-',' '));
65
66
//valor por defecto
66
67
if (! is_null($field->default)) {
67
68
if (strpos($field->default, 'nextval(') !== FALSE) {
68
$column->autoIncrement = TRUE;
69
$attribute->autoIncrement = TRUE;
69
70
} elseif ($field->type == 'serial' || $field->type == 'bigserial') {
70
$column->autoIncrement = TRUE;
71
$attribute->autoIncrement = TRUE;
72
$column->default = $field->default;
73
$attribute->default = $field->default;
76
77
if($field->null == 'NO'){
77
$column->notNull = FALSE;
78
$attribute->notNull = FALSE;
80
81
if(substr($field->name, strlen($field->name) -3, 3) == '_id'){
81
$row->setRelation($field->name, $column->relation);
82
$metadata->setRelation($field->name, $attribute->relation);
83
$attribute->alias = ucwords(strtr($field->name,'_-',' '));
84
$column->type = $field->type;
86
$attribute->type = $field->type;
86
$column->length = $field->length;
88
$attribute->length = $field->length;
88
90
switch ($field->index){
90
$row->setPK($field->name);
92
$metadata->setPK($field->name);
93
$attribute->PK = TRUE;
94
$row->setFK($field->name);
96
$metadata->setFK($field->name);
97
$attribute->FK = TRUE;
98
$column->unique = TRUE;
100
$attribute->unique = TRUE;