mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-06-25 04:11:49 +02:00
RenameColumn no checks if column is used in an index and evtl. rename the column in the index-definition (for the baseline delta)
This commit is contained in:
parent
9673ed9a05
commit
b3971d810c
@ -274,6 +274,26 @@
|
|||||||
{
|
{
|
||||||
$this->m_aTables[$sTableName]['fd'][$sNewColumnName] = $this->m_aTables[$sTableName]['fd'][$sOldColumnName];
|
$this->m_aTables[$sTableName]['fd'][$sNewColumnName] = $this->m_aTables[$sTableName]['fd'][$sOldColumnName];
|
||||||
unset($this->m_aTables[$sTableName]['fd'][$sOldColumnName]);
|
unset($this->m_aTables[$sTableName]['fd'][$sOldColumnName]);
|
||||||
|
|
||||||
|
// check if column is used in an index and evtl. rename the column in the index-definition
|
||||||
|
if (($key = array_search($sOldColumnName,$this->m_aTables[$sTableName]['pk'])) !== false)
|
||||||
|
{
|
||||||
|
$this->m_aTables[$sTableName]['pk'][$key] = $sNewColumnName;
|
||||||
|
}
|
||||||
|
foreach(array('ix','uc') as $kind)
|
||||||
|
{
|
||||||
|
foreach($this->m_aTables[$sTableName][$kind] as $key => $index)
|
||||||
|
{
|
||||||
|
if (!is_array($index))
|
||||||
|
{
|
||||||
|
if ($index == $sOldColumnName) $this->m_aTables[$sTableName][$kind][$key] = $sNewColumnName;
|
||||||
|
}
|
||||||
|
elseif (($sub_key = array_search($sOldColumnName,$index)) !== false)
|
||||||
|
{
|
||||||
|
$this->m_aTables[$sTableName][$kind][$key][$sub_key] = $sNewColumnName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if($this->m_bDeltaOnly) return True;
|
if($this->m_bDeltaOnly) return True;
|
||||||
|
|
||||||
// we have to use the new column-name, as m_oDeltaProc has already changed m_aTables
|
// we have to use the new column-name, as m_oDeltaProc has already changed m_aTables
|
||||||
@ -541,7 +561,7 @@
|
|||||||
if ($this->debug) $bOutputHTML = True;
|
if ($this->debug) $bOutputHTML = True;
|
||||||
if ($bOutputHTML && !$this->debug) $this->debug = 2;
|
if ($bOutputHTML && !$this->debug) $this->debug = 2;
|
||||||
|
|
||||||
$this->m_aTables = $aTables;
|
$this->m_aTables = array();
|
||||||
|
|
||||||
foreach($aTables as $sTableName => $aTableDef)
|
foreach($aTables as $sTableName => $aTableDef)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user