Ejemplo n.º 1
0
 public function createFieldDefinitions($tableName, $key)
 {
     $value = $this->newSchemes[$tableName][$key];
     $sql = '';
     $sql .= "`" . $value['column'] . "` " . $value['type_name'] . " " . ($value['nullable'] ? 'NULL' : 'NOT NULL');
     if (isset($value['default'])) {
         $sql .= ' DEFAULT ';
         if ($value['default'] === 'NULL') {
             $sql .= 'NULL';
         } else {
             $sql .= "'" . $this->newDatabase->escape($value['default']) . "'";
         }
     }
     if (count(array_filter($this->newSchemes[$tableName], function ($col) {
         return isset($col['key']) && $col['key'] === true;
     })) === 1 && isset($value['key']) && $value['key'] === true) {
         $sql .= ' ' . 'PRIMARY KEY';
     }
     if (isset($value['extra'])) {
         $sql .= ' ' . $value['extra'];
     }
     return $sql;
 }