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; }