In der DcaExtractor.php steht an dieser Stelle:
PHP-Code:
/**
* Return an array that can be used by the database installer
*
* @return array The data array
*/
public function getDbInstallerArray()
{
$return = array();
// Fields
foreach ($this->arrFields as $k=>$v)
{
$return['TABLE_FIELDS'][$k] = '`' . $k . '` ' . $v;
}
// Keys
foreach ($this->arrKeys as $k=>$v)
{
// Handle multi-column indexes (see #5556)
if (strpos($k, ',') !== false)
{
$f = trimsplit(',', $k);
$k = str_replace(',', '_', $k);
}
else
{
$f = array($k);
}
if ($v == 'primary')
{
$k = 'PRIMARY';
$v = 'PRIMARY KEY (`' . implode('`, `', $f) . '`)';
}
elseif ($v == 'index')
{
$v = 'KEY `' . $k . '` (`' . implode('`, `', $f) . '`)';
}
else
{
$v = strtoupper($v) . ' KEY `' . $k . '` (`' . implode('`, `', $f) . '`)';
}
$return['TABLE_CREATE_DEFINITIONS'][$k] = $v;
}
$return['TABLE_OPTIONS'] = '';
// Options
foreach ($this->arrMeta as $k=>$v)
{
if ($k == 'engine')
{
$return['TABLE_OPTIONS'] .= ' ENGINE=' . $v;
}
elseif ($k == 'charset')
{
$return['TABLE_OPTIONS'] .= ' DEFAULT CHARSET=' . $v;
}
}
return $return;
}
Lesezeichen